EventLay is a full-stack event management and badge automation platform designed to simplify and streamline event operations.
The platform provides role-based access for administrators, event organizers, volunteers, and clients, allowing each user to access features based on their responsibilities.
- User registration and authentication
- Role-based access control
- Event management
- Participant management
- Volunteer management
- Event check-in
- Badge generation and management
- Role-specific dashboards
- RESTful API integration
- MongoDB database integration
- Responsive user interface
Manages users, events, and overall platform operations.
Creates and manages events, participants, and event-related activities.
Supports event operations, participant check-in, and on-site activities.
Accesses relevant event information and services.
- React.js
- Vite
- React Router
- Axios
- HTML5
- CSS3
- Node.js
- Express.js
- REST APIs
- CORS
- MongoDB
- MongoDB Atlas
- Mongoose
- Visual Studio Code
- Git
- GitHub
- Figma
React Frontend
|
| REST API
|
v
Node.js + Express.js
|
| Mongoose
|
v
MongoDB Atlas
EventLay/
|
├── client/
| ├── src/
| | ├── components/
| | ├── pages/
| | ├── api/
| | ├── App.jsx
| | └── main.jsx
| |
| ├── package.json
| └── vite.config.js
|
├── server/
| ├── controllers/
| ├── models/
| ├── routes/
| ├── config/
| ├── server.js
| └── package.json
|
├── .gitignore
└── README.md
EventLay implements user authentication and role-based access control.
Users can register using their assigned role and subsequently log in to access the appropriate dashboard.
POST /api/auth/register/:role
POST /api/auth/login
After successful authentication, the user's role determines the dashboard and features available to them.
The User model contains the following fields:
User
├── name
├── email
├── password
└── role
Supported roles:
ADMIN
EVENT_ORGANIZER
VOLUNTEER
CLIENT
The email field is unique to prevent duplicate user accounts.
Make sure the following are installed:
- Node.js
- npm
- Git
- MongoDB Atlas account
git clone <repository-url>
cd EventLaycd server
npm installOpen a new terminal and run:
cd client
npm installCreate a .env file inside the server directory:
PORT=5000
MONGODB_URI=your_mongodb_connection_stringDo not commit the .env file to the repository.
From the server directory:
npm run devThe backend will run on:
http://localhost:5000
From the client directory:
npm run devThe frontend will run on the local development URL provided by Vite.
User
|
v
Registration / Login
|
v
Authentication API
|
v
Express.js Backend
|
v
MongoDB Atlas
|
v
Role Identification
|
v
Role-Specific Dashboard
The EventLay interface and user flows are designed using Figma.
The design focuses on:
- Consistent visual hierarchy
- Clear navigation
- Reusable components
- Responsive layouts
- Role-specific user experiences
- Efficient event management workflows
- QR-code based participant check-in
- Automated badge generation
- Badge printing integration
- Attendance tracking
- Event analytics
- Email notifications
- Participant registration
- Volunteer assignment and management
- Administrative reporting
- Enhanced dashboard analytics
EventLay is currently under active development.
The authentication system, registration, database integration, and initial frontend architecture have been implemented. Role-specific dashboards and additional event management features are currently being developed.
This project is developed for academic and educational purposes.