Skip to content
This repository was archived by the owner on Aug 27, 2025. It is now read-only.

Latest commit

 

History

History
83 lines (63 loc) · 2.05 KB

File metadata and controls

83 lines (63 loc) · 2.05 KB

OpenLearn NITJ - Community Website

Welcome to the OpenLearn NITJ community website repository! This is the code for our official landing page and RSVP system.

About This Project

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

Tech Stack

  • 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

Local Development Setup

  1. Clone this repository
  2. Install dependencies:
    npm install
    
  3. Create a .env file based on .env.example and add your Firebase config
  4. Start the development server:
    npm run dev
    

Firebase Setup

  1. Create a Firebase project
  2. Enable Firestore database
  3. 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;
    }
  }
}

Deployment

  1. Build the project:
    npm run build
    
  2. Deploy to Firebase:
    firebase deploy
    

Features

  • 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

Contributing

See CONTRIBUTING.md for details on how to contribute to this project.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

Join our Discord server to get in touch with the community!