├── Capture.PNG ├── README.md └── web ├── assets ├── AssetManifest.json ├── FontManifest.json ├── NOTICES ├── assets │ ├── fonts │ │ ├── MySocialIcons.ttf │ │ ├── Ubuntu-Bold.ttf │ │ ├── Ubuntu-Medium.ttf │ │ └── Ubuntu-Regular.ttf │ └── images │ │ ├── AiVirexlogo.png │ │ ├── Akshat_logoonlly.jpg │ │ ├── TATAlogo.png │ │ ├── Twowaitslogo.png │ │ ├── digitalgriendlogo.png │ │ ├── education.png │ │ ├── iv.png │ │ ├── man.png │ │ └── python.png ├── fonts │ └── MaterialIcons-Regular.otf └── packages │ └── cupertino_icons │ └── assets │ └── CupertinoIcons.ttf ├── favicon.png ├── flutter_service_worker.js ├── icons ├── Icon-192.png └── Icon-512.png ├── index.html ├── main.dart.js ├── manifest.json └── version.json /Capture.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CRYPTOcoderAS/PortFolio-Flutter-Web/cac833f1935c96a4da35fa711a68a4cabaa2e322/Capture.PNG -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 |

3 | 4 | ![Akshat Sachan](https://drive.google.com/uc?id=1ytvxXV_6FFZzt71OToGbZ9c4I0TOpwhQ) 5 | 6 |

7 | 8 | 9 |

Welcome to my PORTFOLIO 👋

10 |

11 | Version 12 | 13 | Documentation 14 | 15 | 16 | License: Open Source 17 | 18 |

19 | 20 | > Portfolio made using Flutter-Web. 21 | 22 | ## SITE PREVIEW 23 | 24 |

25 | 26 | 27 | 28 |

29 | 30 | ## Install 31 | 32 | ```sh 33 | flutter pub get 34 | ``` 35 | 36 | ## Usage 37 | 38 | ```sh 39 | flutter run 40 | flutter build web 41 | ``` 42 | 43 | ## Run tests 44 | 45 | ```sh 46 | f5 / debug 47 | ``` 48 | 49 | 50 | ## Author 51 | 52 | 👤 **Akshat Sachan** 53 | 54 | * Website: [PortFolio](https://sachan1.netlify.app/) 55 | * Twitter: [SachanAK36](https://twitter.com/sachanaks36) 56 | * Github: [CryptocoderAS](https://github.com/CryptocoderAS) 57 | * LinkedIn: [Akshat Sachan](https://www.linkedin.com/in/akshat-sachan-58b2921ab/) 58 | 59 | ## Show your support 60 | 61 | Give a ⭐️ if this project helped you! 62 | 63 | ## 📝 License 64 | 65 | Copyright © 2021 [Akshat Sachan](https://github.com/CryptocoderAS).
66 | This project is [Open Source](none) licensed. 67 | -------------------------------------------------------------------------------- /web/assets/AssetManifest.json: -------------------------------------------------------------------------------- 1 | {"assets/fonts/MySocialIcons.ttf":["assets/fonts/MySocialIcons.ttf"],"assets/fonts/Ubuntu-Bold.ttf":["assets/fonts/Ubuntu-Bold.ttf"],"assets/fonts/Ubuntu-Medium.ttf":["assets/fonts/Ubuntu-Medium.ttf"],"assets/fonts/Ubuntu-Regular.ttf":["assets/fonts/Ubuntu-Regular.ttf"],"assets/images/AiVirexlogo.png":["assets/images/AiVirexlogo.png"],"assets/images/Akshat_logoonlly.jpg":["assets/images/Akshat_logoonlly.jpg"],"assets/images/TATAlogo.png":["assets/images/TATAlogo.png"],"assets/images/Twowaitslogo.png":["assets/images/Twowaitslogo.png"],"assets/images/digitalgriendlogo.png":["assets/images/digitalgriendlogo.png"],"assets/images/education.png":["assets/images/education.png"],"assets/images/iv.png":["assets/images/iv.png"],"assets/images/man.png":["assets/images/man.png"],"assets/images/python.png":["assets/images/python.png"],"packages/cupertino_icons/assets/CupertinoIcons.ttf":["packages/cupertino_icons/assets/CupertinoIcons.ttf"]} -------------------------------------------------------------------------------- /web/assets/FontManifest.json: -------------------------------------------------------------------------------- 1 | [{"family":"MaterialIcons","fonts":[{"asset":"fonts/MaterialIcons-Regular.otf"}]},{"family":"MySocialIcons","fonts":[{"asset":"assets/fonts/MySocialIcons.ttf"}]},{"family":"Ubuntu","fonts":[{"asset":"assets/fonts/Ubuntu-Regular.ttf"},{"weight":500,"asset":"assets/fonts/Ubuntu-Medium.ttf"},{"weight":700,"asset":"assets/fonts/Ubuntu-Bold.ttf"}]},{"family":"packages/cupertino_icons/CupertinoIcons","fonts":[{"asset":"packages/cupertino_icons/assets/CupertinoIcons.ttf"}]}] -------------------------------------------------------------------------------- /web/assets/assets/fonts/MySocialIcons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CRYPTOcoderAS/PortFolio-Flutter-Web/cac833f1935c96a4da35fa711a68a4cabaa2e322/web/assets/assets/fonts/MySocialIcons.ttf -------------------------------------------------------------------------------- /web/assets/assets/fonts/Ubuntu-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CRYPTOcoderAS/PortFolio-Flutter-Web/cac833f1935c96a4da35fa711a68a4cabaa2e322/web/assets/assets/fonts/Ubuntu-Bold.ttf -------------------------------------------------------------------------------- /web/assets/assets/fonts/Ubuntu-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CRYPTOcoderAS/PortFolio-Flutter-Web/cac833f1935c96a4da35fa711a68a4cabaa2e322/web/assets/assets/fonts/Ubuntu-Medium.ttf -------------------------------------------------------------------------------- /web/assets/assets/fonts/Ubuntu-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CRYPTOcoderAS/PortFolio-Flutter-Web/cac833f1935c96a4da35fa711a68a4cabaa2e322/web/assets/assets/fonts/Ubuntu-Regular.ttf -------------------------------------------------------------------------------- /web/assets/assets/images/AiVirexlogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CRYPTOcoderAS/PortFolio-Flutter-Web/cac833f1935c96a4da35fa711a68a4cabaa2e322/web/assets/assets/images/AiVirexlogo.png -------------------------------------------------------------------------------- /web/assets/assets/images/Akshat_logoonlly.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CRYPTOcoderAS/PortFolio-Flutter-Web/cac833f1935c96a4da35fa711a68a4cabaa2e322/web/assets/assets/images/Akshat_logoonlly.jpg -------------------------------------------------------------------------------- /web/assets/assets/images/TATAlogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CRYPTOcoderAS/PortFolio-Flutter-Web/cac833f1935c96a4da35fa711a68a4cabaa2e322/web/assets/assets/images/TATAlogo.png -------------------------------------------------------------------------------- /web/assets/assets/images/Twowaitslogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CRYPTOcoderAS/PortFolio-Flutter-Web/cac833f1935c96a4da35fa711a68a4cabaa2e322/web/assets/assets/images/Twowaitslogo.png -------------------------------------------------------------------------------- /web/assets/assets/images/digitalgriendlogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CRYPTOcoderAS/PortFolio-Flutter-Web/cac833f1935c96a4da35fa711a68a4cabaa2e322/web/assets/assets/images/digitalgriendlogo.png -------------------------------------------------------------------------------- /web/assets/assets/images/education.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CRYPTOcoderAS/PortFolio-Flutter-Web/cac833f1935c96a4da35fa711a68a4cabaa2e322/web/assets/assets/images/education.png -------------------------------------------------------------------------------- /web/assets/assets/images/iv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CRYPTOcoderAS/PortFolio-Flutter-Web/cac833f1935c96a4da35fa711a68a4cabaa2e322/web/assets/assets/images/iv.png -------------------------------------------------------------------------------- /web/assets/assets/images/man.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CRYPTOcoderAS/PortFolio-Flutter-Web/cac833f1935c96a4da35fa711a68a4cabaa2e322/web/assets/assets/images/man.png -------------------------------------------------------------------------------- /web/assets/assets/images/python.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CRYPTOcoderAS/PortFolio-Flutter-Web/cac833f1935c96a4da35fa711a68a4cabaa2e322/web/assets/assets/images/python.png -------------------------------------------------------------------------------- /web/assets/fonts/MaterialIcons-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CRYPTOcoderAS/PortFolio-Flutter-Web/cac833f1935c96a4da35fa711a68a4cabaa2e322/web/assets/fonts/MaterialIcons-Regular.otf -------------------------------------------------------------------------------- /web/assets/packages/cupertino_icons/assets/CupertinoIcons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CRYPTOcoderAS/PortFolio-Flutter-Web/cac833f1935c96a4da35fa711a68a4cabaa2e322/web/assets/packages/cupertino_icons/assets/CupertinoIcons.ttf -------------------------------------------------------------------------------- /web/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CRYPTOcoderAS/PortFolio-Flutter-Web/cac833f1935c96a4da35fa711a68a4cabaa2e322/web/favicon.png -------------------------------------------------------------------------------- /web/flutter_service_worker.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const MANIFEST = 'flutter-app-manifest'; 3 | const TEMP = 'flutter-temp-cache'; 4 | const CACHE_NAME = 'flutter-app-cache'; 5 | const RESOURCES = { 6 | "assets/AssetManifest.json": "162d03152cba02f82ee23cda6c4c029e", 7 | "assets/assets/fonts/MySocialIcons.ttf": "345787fe6cbe5bf827f3a84436278f6f", 8 | "assets/assets/fonts/Ubuntu-Bold.ttf": "e00e2a77dd88a8fe75573a5d993af76a", 9 | "assets/assets/fonts/Ubuntu-Medium.ttf": "8e22c2a6e3a3c679787e763a97fa11f7", 10 | "assets/assets/fonts/Ubuntu-Regular.ttf": "2505bfbd9bde14a7829cc8c242a0d25c", 11 | "assets/assets/images/AiVirexlogo.png": "e057b1349aa9f4813b6fbaa081462e5a", 12 | "assets/assets/images/Akshat_logoonlly.jpg": "be7c4ac5b9d1ab194a0ce5766623b182", 13 | "assets/assets/images/digitalgriendlogo.png": "abc96984737cb6458840750619661df9", 14 | "assets/assets/images/education.png": "dd7e2d99738624cd83015530e43ecc3b", 15 | "assets/assets/images/iv.png": "cff017b882282df8a458b6f05335a77a", 16 | "assets/assets/images/man.png": "6459a78b8d655079c08d4249cbcc0db5", 17 | "assets/assets/images/python.png": "bd6746f907d9a3ac771788fec9aed357", 18 | "assets/assets/images/TATAlogo.png": "7de347a1b7496de131561cdc46fb1ad2", 19 | "assets/assets/images/Twowaitslogo.png": "01181499d818d9295ac280a92e2aa39e", 20 | "assets/FontManifest.json": "927f2f13a2d04e1dbe1ab15efbdb72fa", 21 | "assets/fonts/MaterialIcons-Regular.otf": "4e6447691c9509f7acdbf8a931a85ca1", 22 | "assets/NOTICES": "7fa58fc2670cd7f980ea6a7e6b4a7fc8", 23 | "assets/packages/cupertino_icons/assets/CupertinoIcons.ttf": "6d342eb68f170c97609e9da345464e5e", 24 | "favicon.png": "be7c4ac5b9d1ab194a0ce5766623b182", 25 | "icons/Icon-192.png": "be7c4ac5b9d1ab194a0ce5766623b182", 26 | "icons/Icon-512.png": "be7c4ac5b9d1ab194a0ce5766623b182", 27 | "index.html": "0f179064071f7f99e255b532b72bdfa1", 28 | "/": "0f179064071f7f99e255b532b72bdfa1", 29 | "main.dart.js": "70d68e0628f6bf6547ca19c570be628b", 30 | "manifest.json": "4bc99191a8d05a7bd632b666c0617324", 31 | "version.json": "616505ec71fe87329918bfbf3e4f27a7" 32 | }; 33 | 34 | // The application shell files that are downloaded before a service worker can 35 | // start. 36 | const CORE = [ 37 | "/", 38 | "main.dart.js", 39 | "index.html", 40 | "assets/NOTICES", 41 | "assets/AssetManifest.json", 42 | "assets/FontManifest.json"]; 43 | // During install, the TEMP cache is populated with the application shell files. 44 | self.addEventListener("install", (event) => { 45 | self.skipWaiting(); 46 | return event.waitUntil( 47 | caches.open(TEMP).then((cache) => { 48 | return cache.addAll( 49 | CORE.map((value) => new Request(value, {'cache': 'reload'}))); 50 | }) 51 | ); 52 | }); 53 | 54 | // During activate, the cache is populated with the temp files downloaded in 55 | // install. If this service worker is upgrading from one with a saved 56 | // MANIFEST, then use this to retain unchanged resource files. 57 | self.addEventListener("activate", function(event) { 58 | return event.waitUntil(async function() { 59 | try { 60 | var contentCache = await caches.open(CACHE_NAME); 61 | var tempCache = await caches.open(TEMP); 62 | var manifestCache = await caches.open(MANIFEST); 63 | var manifest = await manifestCache.match('manifest'); 64 | // When there is no prior manifest, clear the entire cache. 65 | if (!manifest) { 66 | await caches.delete(CACHE_NAME); 67 | contentCache = await caches.open(CACHE_NAME); 68 | for (var request of await tempCache.keys()) { 69 | var response = await tempCache.match(request); 70 | await contentCache.put(request, response); 71 | } 72 | await caches.delete(TEMP); 73 | // Save the manifest to make future upgrades efficient. 74 | await manifestCache.put('manifest', new Response(JSON.stringify(RESOURCES))); 75 | return; 76 | } 77 | var oldManifest = await manifest.json(); 78 | var origin = self.location.origin; 79 | for (var request of await contentCache.keys()) { 80 | var key = request.url.substring(origin.length + 1); 81 | if (key == "") { 82 | key = "/"; 83 | } 84 | // If a resource from the old manifest is not in the new cache, or if 85 | // the MD5 sum has changed, delete it. Otherwise the resource is left 86 | // in the cache and can be reused by the new service worker. 87 | if (!RESOURCES[key] || RESOURCES[key] != oldManifest[key]) { 88 | await contentCache.delete(request); 89 | } 90 | } 91 | // Populate the cache with the app shell TEMP files, potentially overwriting 92 | // cache files preserved above. 93 | for (var request of await tempCache.keys()) { 94 | var response = await tempCache.match(request); 95 | await contentCache.put(request, response); 96 | } 97 | await caches.delete(TEMP); 98 | // Save the manifest to make future upgrades efficient. 99 | await manifestCache.put('manifest', new Response(JSON.stringify(RESOURCES))); 100 | return; 101 | } catch (err) { 102 | // On an unhandled exception the state of the cache cannot be guaranteed. 103 | console.error('Failed to upgrade service worker: ' + err); 104 | await caches.delete(CACHE_NAME); 105 | await caches.delete(TEMP); 106 | await caches.delete(MANIFEST); 107 | } 108 | }()); 109 | }); 110 | 111 | // The fetch handler redirects requests for RESOURCE files to the service 112 | // worker cache. 113 | self.addEventListener("fetch", (event) => { 114 | if (event.request.method !== 'GET') { 115 | return; 116 | } 117 | var origin = self.location.origin; 118 | var key = event.request.url.substring(origin.length + 1); 119 | // Redirect URLs to the index.html 120 | if (key.indexOf('?v=') != -1) { 121 | key = key.split('?v=')[0]; 122 | } 123 | if (event.request.url == origin || event.request.url.startsWith(origin + '/#') || key == '') { 124 | key = '/'; 125 | } 126 | // If the URL is not the RESOURCE list then return to signal that the 127 | // browser should take over. 128 | if (!RESOURCES[key]) { 129 | return; 130 | } 131 | // If the URL is the index.html, perform an online-first request. 132 | if (key == '/') { 133 | return onlineFirst(event); 134 | } 135 | event.respondWith(caches.open(CACHE_NAME) 136 | .then((cache) => { 137 | return cache.match(event.request).then((response) => { 138 | // Either respond with the cached resource, or perform a fetch and 139 | // lazily populate the cache. 140 | return response || fetch(event.request).then((response) => { 141 | cache.put(event.request, response.clone()); 142 | return response; 143 | }); 144 | }) 145 | }) 146 | ); 147 | }); 148 | 149 | self.addEventListener('message', (event) => { 150 | // SkipWaiting can be used to immediately activate a waiting service worker. 151 | // This will also require a page refresh triggered by the main worker. 152 | if (event.data === 'skipWaiting') { 153 | self.skipWaiting(); 154 | return; 155 | } 156 | if (event.data === 'downloadOffline') { 157 | downloadOffline(); 158 | return; 159 | } 160 | }); 161 | 162 | // Download offline will check the RESOURCES for all files not in the cache 163 | // and populate them. 164 | async function downloadOffline() { 165 | var resources = []; 166 | var contentCache = await caches.open(CACHE_NAME); 167 | var currentContent = {}; 168 | for (var request of await contentCache.keys()) { 169 | var key = request.url.substring(origin.length + 1); 170 | if (key == "") { 171 | key = "/"; 172 | } 173 | currentContent[key] = true; 174 | } 175 | for (var resourceKey of Object.keys(RESOURCES)) { 176 | if (!currentContent[resourceKey]) { 177 | resources.push(resourceKey); 178 | } 179 | } 180 | return contentCache.addAll(resources); 181 | } 182 | 183 | // Attempt to download the resource online before falling back to 184 | // the offline cache. 185 | function onlineFirst(event) { 186 | return event.respondWith( 187 | fetch(event.request).then((response) => { 188 | return caches.open(CACHE_NAME).then((cache) => { 189 | cache.put(event.request, response.clone()); 190 | return response; 191 | }); 192 | }).catch((error) => { 193 | return caches.open(CACHE_NAME).then((cache) => { 194 | return cache.match(event.request).then((response) => { 195 | if (response != null) { 196 | return response; 197 | } 198 | throw error; 199 | }); 200 | }); 201 | }) 202 | ); 203 | } 204 | -------------------------------------------------------------------------------- /web/icons/Icon-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CRYPTOcoderAS/PortFolio-Flutter-Web/cac833f1935c96a4da35fa711a68a4cabaa2e322/web/icons/Icon-192.png -------------------------------------------------------------------------------- /web/icons/Icon-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CRYPTOcoderAS/PortFolio-Flutter-Web/cac833f1935c96a4da35fa711a68a4cabaa2e322/web/icons/Icon-512.png -------------------------------------------------------------------------------- /web/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | คkŞhคt Şค¢hคຖ 27 | 28 | 29 | 30 | 31 | 32 | 35 | 99 | 100 | 101 | -------------------------------------------------------------------------------- /web/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Aksaht Sachan", 3 | "short_name": "Akshat Sachan", 4 | "start_url": ".", 5 | "display": "standalone", 6 | "background_color": "#0175C2", 7 | "theme_color": "#0175C2", 8 | "description": "AKshat's Portfolio", 9 | "orientation": "portrait-primary", 10 | "prefer_related_applications": false, 11 | "icons": [ 12 | { 13 | "src": "icons/Icon-192.png", 14 | "sizes": "192x192", 15 | "type": "image/png" 16 | }, 17 | { 18 | "src": "icons/Icon-512.png", 19 | "sizes": "512x512", 20 | "type": "image/png" 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /web/version.json: -------------------------------------------------------------------------------- 1 | {"app_name":"akshatportfolio","version":"1.0.0","build_number":"1"} --------------------------------------------------------------------------------