Welcome to the OpenLearn NITJ community website repository! This is the code for our official landing page and RSVP system.
This website serves as:
- An informational hub about the OpenLearn NITJ community
- A promotional tool for our events
- A platform for students to RSVP to workshops and events
- Frontend: React with TypeScript, built using Vite
- Styling: TailwindCSS with custom Neubrutalist design
- Animations: Framer Motion for drag-and-drop interactions
- Backend/Database: Firebase (Firestore for RSVP data)
- Hosting: Firebase Hosting
- Clone this repository
- Install dependencies:
npm install - Create a
.envfile based on.env.exampleand add your Firebase config - Start the development server:
npm run dev
- Create a Firebase project
- Enable Firestore database
- Set up the following Firestore security rules (minimal setup for initial launch):
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /rsvps_workshop1/{docId} {
allow read: if false; // No public reads needed for now
allow write: if true; // Allow anyone to RSVP initially - REVIEW LATER!
}
// Deny all other access by default
match /{document=**} {
allow read, write: if false;
}
}
}
- Build the project:
npm run build - Deploy to Firebase:
firebase deploy
- Responsive Design: Works on mobile, tablet, and desktop
- Interactive Elements: Drag-and-drop interaction for RSVP form
- Form Validation: Client-side validation for RSVP submissions
- Firebase Integration: Stores RSVP data in Firestore
See CONTRIBUTING.md for details on how to contribute to this project.
This project is licensed under the MIT License - see the LICENSE file for details.
Join our Discord server to get in touch with the community!