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.
- Clone the application:
git clone [email protected]:droidconKE/flutterconKEApp.git
- Ensure you have the latest version of Flutter installed:
flutter upgrade
- Install dependencies:
flutter pub get
- Run code generation:
dart run build_runner build --delete-conflicting-outputs
- Build the application:
flutter build apk
- Run the application:
- For production:
flutter run --flavor production --target lib/main_production.dart
- For development:
flutter run --flavor development --target lib/main_development.dart
- For staging:
flutter run --flavor staging --target lib/main_staging.dart
App will have the following features:
- Sessions
- Feed
- About
- Home
- Speakers
- Sponsors
- Authentication
- Feedback
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
- repositories
- repository.dart
- blocs
- auth
- speakers
- ui
- auth
- speakers
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