Skip to content

This app contains the class schedule, assinments, class notes almost a complete solution for the Class Representative or the class teachers to manage the class.

Notifications You must be signed in to change notification settings

Azrul16/Schedula

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Schedula Flutter App

Flutter Firebase Dart

📖 Table of Contents

📖 Project Overview

Schedula is a Flutter-based mobile application designed to manage academic schedules, assignments, announcements, notes, user profiles, and chat functionalities. The app integrates Firebase for backend services and supports user authentication, real-time chat, and AI-powered chat features.

✨ Key Features

  • 📅 Admin Dashboard: Manage semesters, classes, assignments, notes, and students.
  • 📢 Announcements: Create, view, and manage announcements.
  • 📝 Assignments: View and manage assignments with detailed screens.
  • 💬 Chat: Real-time chat functionality.
  • 🤖 Chat AI: AI-powered chat features with authentication and chat controllers.
  • 🏫 Class Management: Manage classes, including creating, updating, and listing classes.
  • 📚 Notes: Create and manage notes with detailed views.
  • 👤 User Accounts: User registration, login, password recovery, and subscription management.
  • 👥 Profile Management: View and edit user profiles, including classmate lists and profile details.
  • 🔐 Permissions: Handles app permissions dynamically on startup.
  • 🔥 Firebase Integration: Uses Firebase for backend services and authentication.
  • ⚙️ Environment Configuration: Supports environment variables via .env file.

🚀 Getting Started

Prerequisites

  • Flutter SDK installed (version compatible with the project)
  • Dart SDK
  • Firebase project setup with configuration files
  • A .env file with necessary environment variables

Installation

  1. Clone the repository or extract the project files.
  2. Navigate to the project directory.
  3. Run flutter pub get to install dependencies.
  4. Ensure the Firebase configuration is set up correctly in lib/firebase_options.dart.
  5. Create a .env file in the root directory with required environment variables.
  6. Run the app on an emulator or physical device using:
    flutter run

📥 Download APK

Download the latest APK of Schedula and install it on your Android device.

Download APK

❓ FAQ

Frequently Asked Questions about Schedula

  • Is this app free to use?
    Yes, Schedula is free for all students.

  • How do I reset my password?
    Use the "Forgot Password" option on the login screen to reset your password via email.

  • Can I use this app without an academic Gmail?
    No, account creation requires a valid academic Gmail address.

  • How do I contribute to the project?
    See the Contribution Guidelines section below.

Contribution Guidelines

We welcome contributions! Please follow these steps:

  1. Fork the repository.
    (Use the "Fork" button on GitHub)

  2. Clone the repository:

    git clone https://github.com/Azrul16/schedula.git
  3. Create a new branch for your feature or bugfix:

    git checkout -b feature/your-feature-name
  4. Make your changes with clear commit messages.
    (Use git status to check changes and git add <file> to stage files)

  5. Test your changes thoroughly.
    (Run flutter test or your preferred testing commands)

  6. Commit your changes:

    git add .
    git commit -m "Add: description of your changes"
  7. Push your changes:

    git push origin feature/your-feature-name
  8. Submit a pull request with a detailed description.

Please adhere to the existing code style and best practices.

Roadmap

  • Add offline support for schedules and notes.
  • Enhance AI chatbot with more academic subjects.
  • Implement push notifications for announcements.
  • Improve UI with more animations and themes.

Technologies Used

  • Flutter
  • Dart
  • Firebase (Authentication, Firestore, Storage)
  • AI Chatbot Integration
  • Permission Handler

Support & Community

Contributors

If you would like to contribute to Schedula, follow these steps:

  1. Fork the Repository: Click on the "Fork" button at the top of the repository page to create a personal copy.
  2. Clone the Repository:
    git clone https://github.com/Azrul16/schedula.git
  3. Create New Branch:
    git checkout -b feature/your-feature-name
  4. Make changes: Impliment your changes or new features in the project
  5. Tast your changes: Ensure that your changes work as expected without breaking existing functionality
  6. Commit Your Changes:
    git commit -m "Add: description of your changes"
  7. Push Your Changes:
    git push origin feature/your-feature-name
  8. Submit a Pull Request: Go to the original repository, click on "Pull Requests," and submit your PR. Include a clear description of the changes you’ve made.

We appreciate your contributions to improving Schedula!

Author

About

This app contains the class schedule, assinments, class notes almost a complete solution for the Class Representative or the class teachers to manage the class.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published