Flutter Portfolio – by @Aaldn

Live Preview 👀

Features ✨

💙 Responsive and adaptive design, inspired by Brittany Chiang 💙 Riverpod Architecture by Andrea Bizzotto 💙 Feature-first structure 💙 Multiple languages 💙 Multiple themes 💙 Multi-platform (Android, iOS, macOS, Windows, Linux, Web)

Packages in use 📦

These are the main packages used in the app:

See the pubspec.yaml file for the complete list

Fork and deploy with Firebase 🚀

If you haven't already, install Flutter

Fork and clone this repository (see how to fork and clone a repo)

Navigate to your portfolio directory :

$ cd portfolio

Install dependencies:

$ flutter pub get

Generator 🤖

1. Run the code generator:

$ dart run build_runner build -d

For additional information, refer to the build_runner documentation

$ dart run easy_localization:generate -S assets/translations -f json -O lib/src/localization/generated -o locale_json.g.dart
$ dart run easy_localization:generate -S assets/translations -f keys -O lib/src/localization/generated -o locale_keys.g.dart

Firebase 🔥

If you haven't already, install Firebase CLI

1. Log into Firebase:

$ firebase login

2. Install the FlutterFire CLI:

$ dart pub global activate flutterfire_cli

3. Create a new Firebase project:

$ firebase projects:create

? Please specify a unique project id (warning: cannot be modified afterward) [6-30 characters]:
? What would you like to call your project? (defaults to your project ID) <my-unique-project-id>

4. Set the Firebase project for your portfolio:

$ firebase use --add

? Which project do you want to add? (Use arrow keys)
❯ <my-unique-project-id>
? What alias do you want to use for this project? (e.g. staging) default

5. Configure your apps to use Firebase:

$ flutterfire configure

i Found 1 Firebase projects. Selecting project <my-unique-project-id>.
? Which platforms should your configuration support (use arrow keys & space to select)? › 
✔ android                                                
✔ ios                                                    
✔ macos                                                  
✔ web                                                    
✔ windows                                                
✔ linux                                                  

For additional information, refer to the Firebase setup documentation

6. Initialize Firebase Hosting:

$ firebase init hosting

? What do you want to use as your public directory? (public) build/web
? Configure as a single-page app (rewrite all urls to /index.html)? (y/N) y
? Set up automatic builds and deploys with GitHub? (y/N) N

$ flutter build web --web-renderer canvaskit --release --no-tree-shake-icons
$ firebase deploy --only hosting

Personalization 🛠️

Note: After making changes, ensure to re-deploy your online portfolio

Content 🖋

1. Portfolio Content: Modify or add JSON translation files within assets/translations folder to customize the portfolio content. Don't forget to re-generate your localization files. For an understanding of how JSON translation files are structured, refer to the translation template

If you add or remove a JSON translation file, remember to update the languages key in your other translation files. Also, update the supported locales in the lib/src/localization/app_localizations.dart

For additional information, refer to the easy_localization documentation

2. Your description: Change the content of your description in the build/web/index.html:

<meta name="description" content="...">

Theme 🎨

1. Launcher Icon and Splash Screen: Update your launcher icon and your splash screen in the pubspec.yaml

Then, run:

$ dart run flutter_launcher_icons
$ dart run flutter_native_splash:create

For additional information, refer to the flutter_launcher_icons and flutter_native_splash documentations

License 📄

This project is licensed under the MIT License - see the LICENSE file for details


View Github