Skip to content

Developer-Club-WMU/app_community_challenge_2_key

Repository files navigation

Challenge 2: CRUD Todo App - Zero to Hero

This repository provides the answer key for Challenge 2 in the Beginner Challenge Course by the App Department at Developer Club.

The challenge is structured in the following steps:

  1. Build a basic todo list using ListView.builder and a simple list.
  2. Upgrade the todo list to use a Stream with ListView.builder, a StreamController, and a list.
  3. Implement a todo list backed by a mock database using the JSON file at ../assets/mock_db.json (outside the lib directory).
  4. Develop a todo list with a mock database using Riverpod and a complete MVVM architecture, following the Flutter documentation.

Use this answer key to review your solutions and learn the recommended approaches for each step.

To keep things straightforward, the UI is intentionally minimal. While using Riverpod and MVVM for a simple todo CRUD app may seem excessive, this project serves as a useful local reference for future projects. You can also use this lightweight codebase to experiment with Flutter features such as testing and dependency injection.

Getting Started

After cloning this repository, follow these steps to set up and run the project:

  1. Install dependencies:

    flutter pub get
  2. Configure Firebase:

    • Sign in to the Firebase Console using your Google account.
    • Contact the head lead developer (Fall 2025: Khang) to be added to the challenge's Firestore project.
    • Follow the FlutterFire documentation to complete the Firebase setup for your platform (Android/iOS/Web). This typically involves running the following command to configure your Flutter app: sh firebase login dart pub global activate flutterfire_cli flutterfire configure (the project name only appear when you've been added by head lead dev, project currently only configure for ios and android, add more if needed) flutter pub add firebase_core flutterfire configure
  3. (Optional) Check for outdated packages:

    flutter pub outdated
  4. Run the app:

    flutter run
  5. Run tests (if available):

    flutter test

Note:
This project uses packages such as riverpod, flutter_riverpod, and cloud_firestore. All dependencies are managed in pubspec.yaml and will be installed with flutter pub get.
If you encounter issues, ensure you have the latest stable version of Flutter installed and that your Firebase configuration is complete. For more details, see the Flutter installation guide and FlutterFire documentation. sh flutter pub get

  1. (Optional) Check for outdated packages:

    flutter pub outdated
  2. Run the app:

    flutter run
  3. Run tests (if available):

    flutter test

Note:
This project uses packages such as riverpod, flutter_riverpod, and others. All dependencies are managed in pubspec.yaml and will be installed with flutter pub get. (when you start with riverpod, you don't have to run the 5 flutter pub gets in their documents because I already did it)

If you encounter issues, ensure you have the latest stable version of Flutter installed. For more details, see the Flutter installation guide.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published