/Classroom

Classroom Management System

Primary LanguageDartMIT LicenseMIT


Classroom Contributor Covenant

This repo contains source code for the classroom app

A higly dependable classroom management system built using Flutter

Table of Contents

  1. About The Project
  2. Getting Started
  3. Contact



About the project

  🚧Actively under development🚧



  • Screenshots 📱

    Coming Soon

  • Documentation 📓

    • This project uses Effective Dart Principles for documentation
    • Run dart doc . from root of project directory to generate documentation webpage.
  • Features

    • Self Hosted using Firebase
    • FCM for notification (Coming soon)
    • Built using Provider Architecture for clean state management
    • Google login for User Authentication
    • Custom user management logic using Firestore
    • Data caching for optimised network calls
    • Profile Screen (Coming Soon)
    • Grading system (Coming Soon)
    • Assignments and exam upload option (Coming Soon)
    • Fluid animations
    • Modern, Material UI (we all love this!)
    • Heavyily documented code (who doesn't like clean code)

(back to top)

Getting Started

  For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

  • Project Setup

    • Flutter App:

      • Install Flutter
      • Setting up your ide
      • Fork and clone this repository.
      • cd into classroom directory.
      • Run flutter clean command.
      • Run flutter pub get command.
      • Run flutter run command.
    • Firebase:

      • Create a firebase project
      • Add android app with your package name in firebase console.
      • Enable Google Auth from Authentication menu in Firebase.
      • Generate SHA-1 key hash for your debug keystore from your pc. This needs to be added to SHA certificate fingerprints section under your android app in Firebase project settings. Without this step Google login won't work.
      • Enable Cloud Firestore
        • Recommended rules for Firestore

            rules_version = '2';
            service cloud.firestore {
              match /databases/{database}/documents {
                match /{document=**} {
                  allow read, write: if
                      request.auth != null;
                }
              }
            }
      • Enable Cloud Storage
      • Download google_services.json from Console -> Project Settings. File is present in app section. SDK instructions found in the same page
      • (Optional) Enable Cloud Messaging from Firebase Console if you wan't notifications to work in your app
      • (Optional) If released to play store get SHA-1 key hash from playstore and upload them to firebase, otherwise google sign in won't work in play store app.
  • How to Contribute?

    Check Contributing.md for guidelines on contributing to this repo.

(back to top)

Contact Us

  If you have a question, please feel free to contact us through email or our telegram community channel.





Made with ❤️ by Open Codeyard