EventScape is a full-stack web application built with the MERN (MongoDB, Express.js, React, Node.js) stack. It serves as an admin-only platform for managing events. Registered users can perform operations such as viewing, updating, deleting, and posting new events. Non-registered users have the ability to browse and view all events along with their details.
-
User Authentication: Secure user authentication using JWT (JSON Web Tokens) and bcrypt for password hashing.
-
Event Operations:
- View: Registered users can view a list of events.
- Update: Users with admin privileges can update event details.
- Delete: Admins can delete events.
- Post: Admins can post new events.
-
Non-Registered User Access: Non-registered users can browse and view all events and their details.
- Node.js
- Express.js
- MongoDB (Database)
- Mongoose (Object Modeling for MongoDB)
- JWT (JSON Web Tokens for authentication)
- Bcrypt.js (Password hashing)
- React.js
- React Router DOM (Declarative routing for React.js)
-
Clone the repository:
git clone https://github.com/your-username/EventScape.git
-
Navigate to the project directory:
cd EventScape
-
Install dependencies:
# Install global dependencies npm install # Navigate to the backend directory and install server-side dependencies cd backend npm install # Navigate to the frontend directory and install client-side dependencies cd frontend npm install
-
Set up MongoDB: Make sure to have MongoDB installed and running.
-
Configure Environment Variables: Create a
.env
file in the root directory and set the necessary environment variables, including MongoDB connection URI, JWT secret, etc.MONGODB_URI=your-mongodb-connection-uri JWT_SECRET=your-jwt-secret
-
Start the application:
# Start the server cd backend npm start # Navigate to the client directory and start the React app cd client npm start
-
Open your browser and go to
http://localhost:3000
to access the application.
Contributions are welcome! (want to add user and admin logins separately, as per now whoever login, is an admin)