Inspiration

Inspiration TimeMate was inspired by the everyday challenges students and faculty face in managing class schedules, subjects, and academic routines. We wanted to create a seamless, digital solution that not only organizes timetables but also provides dynamic features like announcements, quick stats, and motivational content—all in one place.

What We Learned

Firebase Integration: We learned how to leverage Firebase Authentication, Firestore, and Storage for real-time, secure, and scalable data management.

Flutter UI/UX: We explored advanced Flutter layouts, responsive design, and Lottie animations to create a modern, engaging user experience.

State Management: Handling dynamic data across multiple screens taught us the importance of efficient state management and asynchronous programming in Flutter.

Error Handling: Implementing robust error handling and user feedback mechanisms was crucial for a smooth user journey.

How We Built It

Frontend: Built with Flutter, using Material Design, custom widgets, and Lottie for animations.

Backend: Firebase for authentication, Firestore for real-time database, and Firebase Storage for media and PDF exports.

Features:

User authentication (register, login, password reset) Dynamic timetable and class management Profile and settings management Announcements, quick stats, and motivational quotes Navigable calendar and event highlights Challenges Faced Data Synchronization: Ensuring real-time updates across devices and users required careful Firestore structuring and query optimization. UI Overflows & Responsiveness: Handling widget overflows and making the UI responsive for all screen sizes was a recurring challenge. Branch & Folder Management: Managing multiple branches and similar folder names (case sensitivity) in Git led to confusion and required careful cleanup. Calendar Logic: Implementing a calendar with correct alignment, navigation, and event highlighting involved complex date calculations and UI logic. Math & Scheduling We used basic set theory and scheduling algorithms to avoid class overlaps and optimize timetable generation. For example, if C is the set of all classes and T is the set of available time slots, we ensured that ∀ c1,c2 ∈ C ,c1 ≠ c2  ⟹  time(c1) ∩ time(c2) = ∅

TimeMate is a result of continuous learning, collaboration, and a passion for solving real-world problems with technology.

Built With

  • android
  • firebase
  • flutter
  • github
  • if-enabled-in-your-project)-cloud-services:-firebase-authentication-(user-login/register)-firebase-firestore-(cloud-database)-firebase-storage-(profile-pictures
  • if-used)-platforms:-android-(optionally-ios-and-web
  • lottie
  • provider
  • vscode
Share this project:

Updates

posted an update

TIMEMATE Project Log v1.0.0 – Initial Release Launched core features: user registration, login, and timetable creation. Integrated Firebase Authentication, Firestore, and Storage. Added modern dashboard with quick stats and motivational quotes. v1.1.0 – Dashboard Upgrade Introduced dynamic calendar with month navigation. Added announcements and recent activity feed. Implemented Lottie animations for enhanced UI. v1.2.0 – UI & UX Improvements Sidebar navigation with Profile and Settings (Lottie icons). Fixed overflow and alignment issues in quick stats and calendar. Improved error handling and loading indicators. v1.3.0 – Collaboration & Sharing Enabled APK build for easy sharing with friends. Updated README with setup instructions and feature highlights. Cleaned up branches and folder structure in GitHub repo. Screenshots, code snippets, and more updates coming soon! Follow TIMEMATE for the latest features and improvements. Feel free to comment or suggest new features!

Log in or sign up for Devpost to join the conversation.