This is the official Flutter Con Kenya 2024 mobile application. The application is built using Flutter and Dart programming language. The application is designed to provide information about the conference, speakers, schedule, and sponsors. The application also provides a platform for attendees to interact with each other and the speakers.
To get started with this project, you need to have Flutter installed on your machine. You can follow the instructions on the official Flutter website to install Flutter on your machine.
git clone git@github.com:droidconKE/flutterconKEApp.git
flutter upgrade
flutter pub get
dart run build_runner build --delete-conflicting-outputs
flutter build apk
flutter run --flavor production --target lib/main_production.dart
flutter run --flavor development --target lib/main_development.dart
flutter run --flavor staging --target lib/main_staging.dart
App will have the following features:
This is the link to the app designs: Light Theme: https://xd.adobe.com/view/dd5d0245-b92b-4678-9d4a-48b3a6f48191-880e/ Dark Theme: https://xd.adobe.com/view/5ec235b6-c3c6-49a9-b783-1f1303deb1a8-0b91/
REST API: Postman Files
If you would like to contribute to this project, you can first create an issue describing the feature you'd like to do. This helps prevent duplication of effort (working on something someone else is already working on).
After the discussion on the GitHub issue,you can fork the repository and create a new branch for your changes. Once you have made your changes, you can create a pull request to merge your changes into the main branch. For much smaller fixes like typos, you can skip the create issue step.
Tip: Keep feature contributions small and focused. This makes it easy to review contributions and spot errors if any
To ensure that the correct SHA1 key is available for signing the APK to enable social auth with Firebase, we need to maintain a single public keystore so that we don't need to add everyone's debug key to the Firebase app.
Create a file android/key.properties
with values as follows
storePassword=publicDevKey@2024
keyPassword=publicDevKey@2024
keyAlias=publicDevKey
storeFile=../public-dev-keystore.jks
Ensure the storeFile
path is correct depending on your OS
For this project, we use flutter_bloc. You can find documentation here
The architecture portion has a really good explanation of how we plan to architect the app conceptually.
We use a folder first then a feature based approach to structuring folders. This would look similar to:
lib
If you have a preferred different approach to structuring your folders, join the discussion here.
For routing, we will use the go_router package. It offers the benefit of simplifying the usage of navigator 2.0, which is helpful for deep linking
This project is licensed under the MIT License - see the LICENSE file for details.
### Output
```markdown
# Flutter Con Kenya 2024