An all-in-one platform designed to streamline campus communication, event management, and coordination. From personalized event updates and club notifications to seamless merchandise purchases and smarter scheduling, the app keeps both students and organizers in sync.
All UI mock-ups, prototypes, and event-card designs were created in Figma.
- π Features
- π§βπ» Tech Stack
- π οΈ Setup Instructions
- π Methodology
- π― Future Goals
- π‘ Why Campus Sync?
- π¬ Contact
- Built using Firebase Cloud Messaging (FCM) and BullMQ (a Redis-backed queue system).
- Supports both instant and scheduled delivery for event reminders and announcements.
- Robust job processing with features like automatic retries, exponential backoff, and parallel workers to ensure reliable delivery.
- Events progress through clear states: Draft β Tentative β Published.
- An interactive timeline view helps organizers identify and resolve potential scheduling conflicts with overlapping events.
- Supports multi-organizer collaboration for seamless planning.
- Club Following: Users can follow their favorite clubs by category (e.g., Coding, Finance, Blockchain) to receive tailored updates.
- π·οΈ Personalized Feed with Tags: Users can subscribe to interest-based tags like
#coding,#robotics, or#entrepreneurship. Events tagged by organizers appear in the user's personalized feed, cutting through the noise. - Contest Alerts: Integrates with the Codeforces API to send timely notifications for upcoming competitive programming contests.
- Razorpay Integration: Secure, UPI-based payments for event tickets and club merchandise directly within the app.
- π Secure File Management with OneDrive:
- Authentication: Uses the Microsoft Graph API with OAuth 2.0, allowing organizers to securely connect their OneDrive accounts.
- File Uploads: Organizers can upload event-related files (posters, rulebooks, etc.) directly to a dedicated app folder in their own OneDrive.
- Secure Sharing: The app stores and shares a secure, permission-based link to the file, ensuring data privacy and user control.
- Clearly defined roles for Students, Organizers, and Admins.
- Ensures users can only access the resources and permissions relevant to their role.
| Layer | Technology / Service |
|---|---|
| Frontend | Flutter (Android + iOS) |
| Backend | Node.js + Express.js |
| Database | Firebase Firestore + Redis (for caching & queues) |
| Notifications | FCM + BullMQ |
| Design | Figma (UI/UX Prototyping) |
| Integrations | Microsoft Graph API (OneDrive, Outlook), Razorpay API, Codeforces API |
- Navigate to the
server/directory:cd server - Add a
.envfile with the required credentials and configurations. - Start the server:
node index.js
-
Navigate to the
frontend/directory:cd frontend -
(Optional but Recommended) Clean the build:
flutter clean -
Run the app using one of the following methods:
Create or edit
.vscode/launch.jsonwith the following configuration:{ "version": "0.2.0", "configurations": [ { "name": "Flutter", "request": "launch", "type": "dart", "program": "lib/main.dart", "args": [ "--dart-define=CLIENT_ID=$your-client-id", "--dart-define=AZURE_TENANT_ID=$your-tenant-id", "--dart-define=serverUrl=https://iitgcampussync.onrender.com" ] } ] }- Go to Run -> Edit Configurations.
- Add the
--dart-defineparameters in the Additional run args field.
flutter run \ --dart-define=CLIENT_ID=$your-client-id \ --dart-define=AZURE_TENANT_ID=$your-tenant-id \ --dart-define=serverUrl=https://iitgcampussync.onrender.com
- Modular Full-Stack Architecture: A clean separation between the Flutter frontend and the Node.js backend for better maintainability and scalability.
- Decoupled Notification Layer: Using BullMQ as a message queue isolates the notification system, making it resilient and independently scalable.
- Firebase for Real-time Needs: Leveraging Firebase for its real-time database capabilities and robust authentication services.
- UI/UX First Design: The entire application was prototyped and designed in Figma before development, ensuring a responsive and user-friendly interface.
- π Class Rep Access: Empower Class Representatives to manage department-specific events and announcements.
- π§ LeetCode Contest Alerts: Expand the contest integration to include LeetCode and other popular platforms.
- π Enhanced Club Storefronts: Allow clubs to create dedicated storefronts to list, manage, and pre-sell merchandise.
π¬ The Problem: Emails are cluttered. Social media is noisy. Students miss out on important events, and organizers struggle with coordination.
π‘ The Solution: Campus Sync provides a centralized, streamlined, and personalized platform that fixes these problems by:
- Delivering timely and relevant updates.
- Preventing scheduling conflicts with a shared event timeline.
- Making event planning smoother and more collaborative for organizers.
Whether youβre exploring clubs or planning your next big event β Campus Sync keeps everyone in sync.
This application is maintained by the Coding Club, IIT Guwahati.
For collaboration, feedback, or suggestions, please reach out via:
- π§ Email:
[email protected]



