Online E-Learning App for Empowering African Women in Arts
This section outlines all the screenshots that should be included in the README to showcase the app's features and setup process.
These screenshots help users understand the setup process:
- Firebase Project Creation: Screenshot of Firebase Console showing project creation
- Firebase Project Settings: Screenshot showing the project settings page with app configuration
- Authentication Setup: Screenshot of Authentication > Sign-in method showing Email/Password and Google enabled
- Firestore Database Creation: Screenshot showing Firestore database creation and location selection
- Firestore Security Rules: Screenshot of the Firestore Rules editor (optional, but helpful)
- FlutterFire CLI Configuration: Terminal screenshot showing
flutterfire configurecommand execution - Android Configuration: Screenshot showing
google-services.jsonfile location in project structure - iOS Configuration: Screenshot showing
GoogleService-Info.plistfile location in project structure
- Flutter Installation Check: Terminal screenshot showing
flutter doctoroutput - Dependencies Installation: Terminal screenshot showing
flutter pub getexecution - App Running: Screenshot of the app running on emulator/device (splash screen or first screen)
The following screenshots demonstrate the key features of the HERmony app:
- Welcome Screen: Initial welcome screen with app branding
- Login Screen: Email/password and Google Sign-In options with password reset link
- Create Account Screen: User registration form with email/password validation
- Email Verification Screen: Email verification prompt after signup
- Forgot Password Screen: Password reset flow
- Interest Selection Screen: Onboarding screen for selecting user interests
- Experience Level Screen: Onboarding screen for selecting experience level
- Goal Setting Screen: Onboarding screen for setting learning goals
- Profile Setup Screen: Initial profile creation screen
- Home/Dashboard Screen: Personalized dashboard with quick actions, featured courses, and progress tracking
- Bottom Navigation Bar: Screenshot showing the main navigation (Home, Courses, Community, Events, Profile)
- Dashboard - Calendar Tab: Calendar view with events and reminders
- Dashboard - Statistics: User statistics and progress overview
- Courses Screen: Browse and search courses by category with filtering options
- Course Detail Screen: Course information, enrollment button, instructor details, and progress tracking
- Course Content Screen: Lesson list with navigation and completion tracking
- Single Lesson Screen: Individual lesson view with video/content and navigation
- Course Progress: Screenshot showing course completion progress
- Community/Forum Screen: Real-time forum posts list with categories
- Forum Post Detail: Individual post with comments and interactions
- Create Post Screen: Post creation form
- Chat Rooms Screen: List of available chat rooms
- Chat Room Screen: Real-time messaging within a chat room
- Direct Messaging Screen: User search and direct message conversations
- Mentors Screen: List of available mentors
- Events Screen: Upcoming, live, and past events with filtering
- Event Detail Screen: Event information with RSVP functionality
- Add Event Screen: Event creation form
- Profile Screen: User profile with statistics, achievements, and edit options
- Settings Screen: Settings menu with theme, language, and notification preferences
- Notifications Screen: List of user notifications
- User Statistics: Detailed statistics view
- Dark Theme: Screenshot showing the app in dark mode (any main screen)
- Light Theme: Screenshot showing the app in light mode (same screen as dark theme for comparison)
- Responsive Design - Phone: Screenshot on a phone (≤5.5") showing mobile layout
- Responsive Design - Tablet: Screenshot on a tablet (≥6.7") showing tablet layout
- Material Design Elements: Close-up screenshot showing Material Design components (buttons, cards, etc.)
Note: Place all screenshot files in the
docs/screenshots/directory with descriptive filenames:
- Setup screenshots:
setup_firebase_project.png,setup_auth_enabled.png, etc.- App screenshots:
welcome_screen.png,login_screen.png,dashboard_screen.png, etc.Reference them in markdown using:
For side-by-side comparisons:
 | 
This project is a starting point for a Flutter application.
- Flutter SDK (>=3.0.0)
- Dart SDK
- Android Studio / Xcode (for mobile development)
- Firebase account
Before running the app, you must:
- Set up a Firebase project
- Configure Firebase for your app
See FIREBASE_SETUP.md for detailed instructions.
Quick Start:
# Install FlutterFire CLI
dart pub global activate flutterfire_cli
# Configure Firebase (requires Firebase login)
firebase login
flutterfire configureNote: The iOS bundle identifier is co.zw.coursehub (not com.example.coursehub). Make sure to use the correct bundle ID when setting up Firebase.
- Clone the repository
- Install dependencies:
flutter pub get
- Configure Firebase (see FIREBASE_SETUP.md)
- Run the app:
flutter run
- User Authentication (Email/Password & Google Sign-In)
- Firestore Database Integration
- Forum/Discussion Posts
- Events Management
- Responsive UI Design
lib/- Main application codeservices/- Firebase services (Auth, Firestore)providers/- State managementui/- UI screensmodels/- Data modelswidgets/- Reusable widgets
A few resources to get you started if this is your first Flutter project:
For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.