A real-time event management platform enabling users to create, manage, and participate in events with real-time communication.
- Login, Sign-Up
- User Authentication (JWT, Bcrypt)
- Role-Based Access Control
- Event Creation & Filtering
- Real-Time Friend Requests
- Live Chat in Event Lobbies
- WebSocket-based Communication
- Private Messaging
- Backend: Node.js, Express.js, MongoDB
- Authentication: JWT, Bcrypt
- Real-time Communication: Socket.IO, WebSockets, Redis
- Deployment & Management: Docker, PM2
- Frontend: React.js, Vite, Tailwind CSS
- Developed all backend APIs
- Integrated Socket.IO for real-time chat
- Implemented JWT authentication
- Designed event filtering & management
- Optimized WebSockets using Redis
- Deployed backend on Render
- Built the user interface with React.js and Vite
- Designed responsive UI using Tailwind CSS
- Implemented event filtering and creation features
- Integrated WebSockets for real-time interactions
- Connected frontend with backend APIs
- Ensured smooth user experience with error handling
- Node.js (v16+)
- MongoDB
- Redis (for WebSocket optimization)
cd backend
npm install
npm startcd frontend
npm install
npm run devhttps://two447-event-connection-platform-2.onrender.com
URL: /user/signup
Method: POST
Headers:
Content-Type: application/json
Request Body:
{
  "email": "user@example.com",
  "password": "securepassword",
  "role": "participant"
}Response (Success 201):
{
  "msg": "Your Account Created Successfully",
  "payload": {
    "_id": "userId",
    "email": "user@example.com",
    "role": "participant",
    "createdAt": "timestamp"
  }
}URL: /user/login
Method: POST
Request Body:
{
  "email": "user@example.com",
  "password": "securepassword"
}Response (Success 200):
{
  "message": "Login successful",
  "accessToken": "JWT Access Token",
  "user": {
    "id": "userId",
    "email": "user@example.com",
    "role": "participant"
  }
}URL: /user/refresh
Method: POST
Response (Success 200):
{
  "accessToken": "New JWT Access Token"
}URL: /user/logout
Method: POST
Response (Success 204): No content. Refresh token cleared from cookies.
URL: /events
Method: POST
Headers:
Authorization: Bearer <AccessToken>
Request Body:
{
  "name": "Tech Conference",
  "location": "City Center",
  "description": "Annual tech conference for developers.",
  "startDate": "2025-02-01T10:00:00Z",
  "endDate": "2025-02-01T18:00:00Z",
  "category": ["technology"],
  "imageUrl": "http://example.com/event-image.jpg"
}Response (Success 201):
{
  "message": "Event created successfully",
  "event": {
    "id": "eventId",
    "name": "Tech Conference",
    "location": "City Center",
    "createdBy": "userId"
  }
}URL: /events
Method: GET
Response (Success 200):
{
  "events": [
    {
      "id": "eventId",
      "name": "Tech Conference",
      "location": "City Center",
      "startDate": "2025-02-01T10:00:00Z",
      "endDate": "2025-02-01T18:00:00Z",
      "category": ["technology"]
    }
  ]
}The backend is deployed on Render and can be accessed at:
https://two447-event-connection-platform-2.onrender.com
The frontend is deployed on Vercel and can be accessed at:
https://silver-piroshki-ab1de7.netlify.app/
Contributions are welcome! Feel free to open issues or submit pull requests.
This project is licensed under the MIT License.
For any queries, reach out via GitHub or email.