# 🀝 RIT Freshers Hub Collaboration Guide Welcome to the team! This guide explains how to get set up, which Git branch you should work on, and which database tables you are responsible for. --- ## πŸš€ Step 1: Getting Started 1. **Clone the repository**: ```bash git clone cd "Freshers Hub" ``` 2. **Select your module's branch**: Find your assigned module below, and check out your branch: ```bash git checkout feature/ ``` 3. **Install frontend dependencies**: ```bash npm install npm run dev ``` *(The frontend dev server will run on http://localhost:5173)* 4. **Connect your Spring Boot backend to PostgreSQL**: Configure your local `src/main/resources/application.properties`: ```properties spring.datasource.url=jdbc:postgresql://localhost:5432/rit_freshers_hub spring.datasource.username=your_postgres_username spring.datasource.password=your_postgres_password spring.jpa.hibernate.ddl-auto=validate ``` --- ## πŸ“‹ Step 2: Module to Branch & Database Table Mapping | Assignee Name | Portal Module | Git Branch Name | Database Table(s) to Use | | :--- | :--- | :--- | :--- | | **Friend 1** | πŸ“š Notes & PYQs | `feature/notes-pyqs` | `notes_pyqs` | | **Friend 2** | πŸ€– AI Fresher Assistant | `feature/ai-assistant` | `ai_chat_messages` | | **Friend 3** | πŸ—ΊοΈ Campus Map | `feature/campus-map` | `campus_locations` | | **Friend 4** | 🚌 Bus Routes | `feature/bus-routes` | `bus_routes`, `bus_stops` | | **Friend 5** | πŸ‘©β€πŸ« Faculty Directory | `feature/faculty-directory` | `faculty` | | **Friend 6** | πŸ’¬ Freshers Q&A | `feature/freshers-qa` | `community_questions`, `community_answers` | | **Friend 7** | πŸŽ‰ Clubs & Events | `feature/clubs-events` | `clubs`, `events` | | **Friend 8** | 🧰 Student Toolkit | `feature/student-toolkit` | `toolkit_items` | | **Friend 9** | 🀫 Anonymous Confession | `feature/anonymous-confessions` | `confessions` | --- ## πŸ› οΈ Step 3: Git Workflow Guidelines To ensure smooth merging into `main` later without conflicts, please follow these rules: 1. **Keep commits focused**: Only commit changes relating to your assigned module. 2. **Sync with Main regularly**: Before committing or pushing, merge the latest `main` into your branch to stay up to date: ```bash git fetch origin git merge origin/main ``` 3. **Pushing code**: ```bash git push origin feature/ ``` 4. **Merge to Main**: When your module is fully tested and complete, create a Pull Request on GitHub to merge your feature branch into `main`.