MDG-Hackathon-AIEO--CR-Management-App-
A Flutter-based app designed to simplify the tasks of Class Representatives, offering features for announcements, calendar management, assignments, and timetables—all in one intuitive platform. Performed at Hackathon by MDG Space Club, IIT ROORKEE
CR Student Management System 📚
OUR PROBLEM STATEMENT:
Open Track: Innovate Your Way
(https://obvious-acrylic-f12.notion.site/Hack8all-Hackathon-4cecdcfce2a64d45afbb9d9404e36440)
API USED:
- Flutter Calender API
- Firebase API
apart from these libraries used were:
provider: ^6.0.0
shared_preferences: ^2.0.15
syncfusion_flutter_calendar: ^26.2.10
intl: ^0.19.0
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.2
firebase_core: any
cloud_firestore: ^5.2.1
firebase_auth: ^5.1.4
firebase_storage: ^12.1.3
icons_plus: ^5.0.0
Overview
The CR Student Management System is an innovative solution designed to streamline the responsibilities of Class Representatives (CRs). Built with Flutter, this app simplifies tasks such as making announcements, managing calendars, assigning tasks, and organizing timetables. It’s the perfect tool for CRs to keep their class informed and organized!
Features 🚀
- Announcements 📢: Easily send out important messages to the entire class.
- Calendar Management 📅: Keep track of events, deadlines, and more.
- Assignments 📝: Manage and distribute assignments seamlessly.
- Timetable 🕒: Ensure everyone is aware of the class schedule.
Screenshots 🖼️
Here are some screenshots of the app in action:
The Announcements section where CRs can post updates for the class.
The Calendar view to track important dates and events.
Manage and view all assignments in one place.
Easily accessible timetable for the class.
Team 👥
This project was developed by:
- Utso Sarkar (utso_s@ma.iitr.ac.in)
- Arya Talera (talera_a@ma.iitr.ac.in)
- Anee Jain (anee_j@ma.iitr.ac.in)
- Amitesh Sonwani (amitesh_s@ma.iitr.ac.in)
Code Snippets 💻
Here are some key code snippets from the app:
Announcement Model
class Announcement {
String title;
String description;
DateTime date;
Announcement({required this.title, required this.description, required this.date});
}
Calendar Widget
class CalendarWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return TableCalendar(
focusedDay: DateTime.now(),
firstDay: DateTime.utc(2020, 10, 16),
lastDay: DateTime.utc(2030, 3, 14),
);
}
}
Timetable structure
class Timetable {
String subject;
String startTime;
String endTime;
Timetable({required this.subject, required this.startTime, required this.endTime});
}
Architecture Overview
The CR Student Management System follows a modular architecture to ensure scalability and maintainability. Here’s a high-level overview:
- Presentation Layer: Includes all the widgets and UI components.
- Business Logic Layer: Contains the logic and state management.
- Data Layer: Manages data flow, including API calls, local storage, etc.
Usage 📲
- Clone the repo
git clone https://github.com/yourusername/CR-Student-Management-System.git
2.Navigate to the project directory
cd CR-Student-Management-System
3.Install dependencies
flutter pub get
4.Run the App
flutter run