Many universities host a variety of events, including social gatherings, fundraisers, and tech talks, often organized by Registered Student Organizations (RSOs). However, existing university event websites have limitations:
- ❌ Often only list official university events, leaving out many student-organized activities.
- ❌ Students must manually check university websites to track upcoming events.
- ❌ No centralized way to explore and manage both public and private events.
This project aims to develop a web-based application that provides a comprehensive event management platform for students, organizations, and administrators. The platform enables users to:
✅ Discover, create, and manage campus events efficiently.
✅ Improve event visibility and accessibility for students.
✅ Support multiple event types with role-based access control.
- Super Admin: Manages university profiles & approves public events.
- Admin (RSO Leaders): Creates & manages events for their student organizations.
- Students: Browse and interact with events (comment, rate, and join RSOs).
- Create events with:
- Name, Category, Description, Time, Date, Location (Map Integration), Contact Details
- Event Visibility Levels:
- 🟢 Public Events → Visible to everyone.
- 🔵 Private Events → Accessible only to students of the host university.
- 🟠 RSO Events → Exclusive to members of a specific RSO.
- ✅ Super Admin approval required for non-RSO public events.
- Users can comment, edit, and rate events (1-5 stars).
- Social media integration for event sharing.
- Students can create or join RSOs.
- New RSOs require at least five members from the same university email domain.
- Frontend: Built with Vite, JavaScript, HTML, and CSS for a modern, fast UI.
- Backend: Developed using Express.js and PostgreSQL for robust data handling.
- Database: Includes at least five relational tables with SQL triggers.
- Scalability: Supports multiple concurrent users with efficient indexing.
- Additional Features:
- Integration with university event feeds (e.g., events.ucf.edu).
- Security measures and potential social media APIs.
Ensure you have Node.js and npm installed. Install the latest npm version with:
npm install npm@latest -g
💻 Follow these steps to set up the frontend of the project:
1️⃣ Navigate to the frontend folder from the root directory:
cd frontend/
2️⃣ Install all Project Dependencies From the package.json:
npm install
3️⃣ Starts the Frontend Vite Configured Server:
npm run dev
🛠️ Follow these steps to set up the backend of the project:
1️⃣ Navigate to the backend folder from the root directory:
cd backend/
2️⃣ Install all Project Dependencies From the package.json:
npm install
3️⃣ Creates a .environment file (Stores Sensitive Projec Credentials) from .env.example template:
- Make Sure to incldue the Correct Database Information in the .env file
cp .env.example .env
4️⃣ Starts the Backend Server:
npm start
🚨 Here are some common setup issues and how to resolve them:
💡 Error: EADDRINUSE
(Address already in use)
🔹 Solution: Change the port in:
.env
filebackend/src/index.js
To an unoccupied port, then restart the backend server:
npm start