This website is designed to help users discover local events and enable event coordinators to share and promote their activities within the community. It serves as a community-focused social media platform for discovering, sharing, and managing events, fostering communication between event organizers and attendees.
- For Users: Users can find recreational activities or events happening in their city or a city they plan to visit. They can interact with event posts by liking, rating, commenting, or RSVPing to an event (if enabled by the organizer). Users can also post reviews of events they attended.
- For Event Coordinators: Coordinators can promote their events by sharing details such as whether the event is virtual or in-person, headcount, timing, cost, and RSVP options.
To provide seamless tools for searching, communication, and sharing of local events, bridging the gap between users seeking activities and coordinators looking to attract participants.
-
Sign-Up Page
Users can create accounts by providing their full name, email, phone number, age, a unique username, and password. Users must specify if they are an event coordinator or a general user. -
Login Page
Registered users can log in using their username and password. -
Event Page
Features posts from event coordinators showcasing upcoming events. -
Review Page
Allows users to post reviews of community events or recreational activities. -
Event Coordinator Posting Page
Coordinators can create event posts with images, descriptions, headcounts, dates, times, locations, and optional RSVP forms. They can update or delete their posts. -
RSVP Form
Coordinators can attach RSVP forms to their posts to collect user information (name and email). -
User Posting Page
Users can post about events they attended with images and descriptions on the review page. -
User-Post Interaction
Users can interact with event postings through likes, ratings, comments, and RSVP options. -
Favorites
Users can favorite or unfavorite events and view their list of favorites. -
Coordinator Profile
Users can view profiles of event coordinators, including past and upcoming events.
- Node.js installed on your machine.
-
Clone the repository:
git clone https://github.com/fjcorn3/cs546finalproject.git cd cs546finalproject -
Install dependencies:
npm install
-
Seed the database (if applicable):
npm run seed
-
Start the application:
npm start
npm start: Starts the application.
- Backend Framework: Express.js
- Database: MongoDB
- Authentication: bcryptjs, express-session
- Security: xss (to prevent cross-site scripting)
- Author: Group 27
- License: ISC
- Implement comprehensive testing.
- Improve user interface with additional styling and animations.
- Enable advanced filtering for events (e.g., by date, category, or popularity).
This README provides an overview of the project, its core features, setup instructions, and technologies used.