A powerful web application built with Next.js 15, TailwindCSS 4, Firebase, and Cloudflare R2, designed to manage complex Finance and Deliverables workflows for multi-department event-based organizations.
This system is a Finance and Deliverables Tracker that streamlines the management of multiple MoUs (Memorandums of Understanding) between organizations and sponsors. Designed to support both cash and in-kind contributions, it enables detailed tracking of financial performance and deliverables across departments.
Originally developed for Paradox 25, a large-scale college fest, the system successfully handled:
- ₹19 Lakhs in cash contributions
- ₹60 Lakhs in in-kind deliverables
- 43 MoUs from sponsoring companies
- 100+ individual deliverables
- 40+ users across 12+ departments
- Frontend: Next.js 15
- Styling: TailwindCSS 4
- Backend: Firebase (Auth, Firestore, Functions)
- Storage: Cloudflare R2 for document and proof uploads
- Support for Admins, Finance, and Department Users
- Role-based UI and permissions
- Dynamic user role assignment per department
- Firebase Authentication (Email/Password, Google signIn OAuth)
- Add New Sponsor
- Upload and view Sponsor Mou pdf
-
Track deliverables tied to sponsor MoUs
-
Assign deliverables to specific departments
-
Upload additional information as image, pdf , video
- Upload proofs for each deliverable (image, video, PDF)
- Cloudflare R2-backed storage with preview and download
- Multi-level approval workflows
- Manage cash and in-kind values per MoU
- Track sponsor commitments and fulfillment
- Monitor department-specific financial impact
- Monitor Profit and Cost Breakdowns
- Finance Performance: Track received vs expected contributions
- Department Performance: Evaluate delivery rates and quality
- Real-time dashboard and analytics
Paradox 25 – A major college fest
Managed ₹19L cash + ₹60L in-kind value from 43 sponsors
Supported 12+ departments (e.g., Outreach, Hospitality, Finance, Multimedia, WebOps, Security, Student Relations)
Enabled over 40 users to collaborate on 100+ deliverables with transparent finance and deliverables tracking
Built with the help of Sponsorship Team and Tech Leads at Paradox 25, with inputs from multiple departments and stakeholders.
- Clone the repository
- Set up Firebase config in
.env.localNEXT_PUBLIC_FIREBASE_API_KEY NEXT_PUBLIC_FIREBASE_API_KEY NEXT_PUBLIC_FIREBASE_PROJECT_ID NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID NEXT_PUBLIC_FIREBASE_APP_ID NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID FIREBASE_PROJECT_ID FIREBASE_PRIVATE_KEY FIREBASE_CLIENT_EMAIL R2_ACCESS_KEY_ID R2_SECRET_ACCESS_KEY R2_BUCKET_NAME R2_ACCOUNT_ID R2_REGION R2_ENDPOINT - Configure Cloudflare R2 bucket and keys
- Run locally:
npm install
npm run dev- Run the initialisation script under scripts to create users











