Welcome to the Event Management App! This is a robust application designed to help users manage events seamlessly. With our app, users can create, browse, and book tickets for events. Built with modern technologies like Node.js, Express, MongoDB, and Redis, this app is optimized for performance and scalability.
- User Authentication & Authorization: Secure login, registration, and role-based access.
- Event Management: Create, update, and delete events with ease.
- Ticket Booking: Book tickets for your favorite events, with support for different ticket types.
- Real-time Notifications: Stay updated with real-time notifications about your bookings.
- Job Queues: Efficient background processing with Bull and Redis.
- Node.js - JavaScript runtime built on Chrome's V8 JavaScript engine.
- Express.js - Web framework for Node.js.
- MongoDB - NoSQL database for storing event data.
- Redis - In-memory data structure store, used as a database, cache, and message broker.
- Bull - Premium queue for handling background jobs.
Follow these steps to get a copy of the project up and running on your local machine.
Make sure you have the following installed:
- Node.js: Download Node.js
- MongoDB: Download MongoDB
- Redis: Download Redis
-
Clone the repository:
git clone https://github.com/oussama-el1/Event-app-server
-
Navigate to the project directory:
cd Event-app-server
-
Install dependencies:
npm install
-
Set up environment variables: Create a
.env
file in the root of the project and add the following:PORT=5000 MONGO_URI=mongodb://localhost:27017/event-management JWT_SECRET=your_jwt_secret REDIS_URL=redis://localhost:6379
-
Start the application:
npm run start-server
The app should now be running on
http://localhost:5000
. -
Start the email worker:
npm run email-worker
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
Fork the Project:
Click on the fork button at the top right of this repository.
Create your Feature Branch:
git checkout -b feature/AmazingFeature
Commit your Changes::
git commit -m 'Add some AmazingFeature'
Push to the Branch::
git push origin feature/AmazingFeature
Open a Pull Request.
- Back-end Team : [email protected] and [email protected]
- Front-End Team : [email protected] and [email protected]