- Project Overview
- Key Features
- Getting Started
- Download APK
- FAQ
- Contribution Guidelines
- Roadmap
- Technologies Used
- Support & Community
- Contributors
- Author
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.
- 📅 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
.envfile.
- Flutter SDK installed (version compatible with the project)
- Dart SDK
- Firebase project setup with configuration files
- A
.envfile with necessary environment variables
- Clone the repository or extract the project files.
- Navigate to the project directory.
- Run
flutter pub getto install dependencies. - Ensure the Firebase configuration is set up correctly in
lib/firebase_options.dart. - Create a
.envfile in the root directory with required environment variables. - Run the app on an emulator or physical device using:
flutter run
Download the latest APK of Schedula and install it on your Android device.
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.
We welcome contributions! Please follow these steps:
-
Fork the repository.
(Use the "Fork" button on GitHub) -
Clone the repository:
git clone https://github.com/Azrul16/schedula.git
-
Create a new branch for your feature or bugfix:
git checkout -b feature/your-feature-name
-
Make your changes with clear commit messages.
(Usegit statusto check changes andgit add <file>to stage files) -
Test your changes thoroughly.
(Runflutter testor your preferred testing commands) -
Commit your changes:
git add . git commit -m "Add: description of your changes"
-
Push your changes:
git push origin feature/your-feature-name
-
Submit a pull request with a detailed description.
Please adhere to the existing code style and best practices.
- 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.
- Flutter
- Dart
- Firebase (Authentication, Firestore, Storage)
- AI Chatbot Integration
- Permission Handler
- Email: [email protected]
- Website: https://schedulaapp.com
- Twitter: @SchedulaApp
If you would like to contribute to Schedula, follow these steps:
- Fork the Repository: Click on the "Fork" button at the top of the repository page to create a personal copy.
- Clone the Repository:
git clone https://github.com/Azrul16/schedula.git
- Create New Branch:
git checkout -b feature/your-feature-name
- Make changes: Impliment your changes or new features in the project
- Tast your changes: Ensure that your changes work as expected without breaking existing functionality
- Commit Your Changes:
git commit -m "Add: description of your changes" - Push Your Changes:
git push origin feature/your-feature-name
- 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.
- Azrul Amaline
- Email: [email protected]