Evently is a web application designed to provide users with a convenient platform for creating, managing, and scheduling events dynamically. This application aims to simplify the process of organizing and participating in various events, enhancing user engagement and experience.
-
User Registration and Authentication:
- Secure registration and login functionality for users to access the application.
-
Event Creation and Management:
- Create new events with essential details like title, description, date, time, poster, and duration.
- Support for both one-time and recurring event schedules.
- Edit and delete events as needed.
- User-friendly interface for efficient event management.
-
Event Search and Filtering:
- Search events based on keywords (title, description) or date.
- Implement filters to refine event searches using categories or tags.
- Visually appealing display of search results.
-
Event Participation:
- Enable users to join events with a "Join" button.
- Limit the number of participants for each event.
- Display a participant list with status (confirmed, pending).
-
Notifications and Reminders:
- Notification system for upcoming events, changes, and cancellations.
- Reminders via email or push notifications based on user preferences.
- Timely notifications with relevant event details.
- Notify users when an event is created related to their interest tags.
-
Event Feed:
- View a feed of events created by other users.
- Display event details, including name, date, time, duration, poster, and type.
- Filter events based on preferences and interests.
- Sort events by popularity, date, or proximity.
-
Wishlist or Favorite Feature:
- Allow users to save events to their wishlist or favorite list.
- Easy access to the saved events for future reference.
- Option to remove events from the wishlist or favorite list.
-
User Experience:
- Intuitive and responsive user interface with an appealing design.
- Validation and error handling for user inputs.
- Performance optimization for a large number of concurrent users.
- Compatibility across web browsers and devices.
- Clone the project
git clone https://github.com/anakin-dabir/evently-23.git
- Go to the project directory
cd evently-23
- Install dependencies in both server and client folders
cd frontend && yarn & cd server && yarn & cd socket && yarn
-
MONGO_URI
mongodb url -
IMGBB_API_KEY
API key for imbb -
NODEMAILER_EMAIL
email for nodemailer -
NODEMAILER_PASSWORD
password for nodemailer -
JWT_SECRET
secret token for JWT creation
-
VITE_SOCKET_URI
socket url -
VITE_BASE_URI
server url -
VITE_GOOGLE_LOCATOR_API_KEY
google locator API key -
VITE_CLOUDINARY_UPLOAD_PRESET
upload preset for cloudinary -
VITE_CLOUDINARY_CLOUD_NAME
your cloud name for cloudinary
- Start frontend, backend and socket side separately by navigating to respective dirs and:
yarn dev
-
Authentication
HTTP Endpoints Action GET
/auth/user To get user creds GET
/auth/whishlist To retrieve wishlist POST
/auth/register To register a new user account POST
/auth/login To login to already existing user POST
/auth/add/:id To add event to wishlist POST
/auth/remove/:id To remove event from wishlist -
Events
HTTP Endpoints Action GET
/event To retrieve all events GET
/event/myevents To retrieve all of current user events GET
/event/:id To retrieve data of current event POST
/event To create a new event POST
/event/join/:id To add user to event PUT
/event/:id To edit an event DELETE
/event/:id To delete an existing event -
Notifications
HTTP Endpoints Action GET
/notification To retrieve all notifications POST
/notification To send a new notification PATCH
/notification To mark notifications as read