- User Registration: Create account with full name, email, and roll number
- Secure Login: Email and password authentication
- Profile Management: View and edit personal information
- Dark/Light Mode: Toggle between themes for better visibility
- Browse Events: View all upcoming training sessions and workshops
- Event Registration: Register for available events with seat tracking
- My Registrations: Track registered events and their status
- Cancel Registration: Option to cancel registration for upcoming events
- Event Details:
- Event name and description
- Speaker information
- Date and time
- Venue details
- Available seats
- Registration status
- Create Events:
- Set event name, description, and speaker
- Configure date, time, and venue
- Set maximum seats capacity
- Enable email notifications
- Event Controls:
- Update event status (upcoming/ongoing/completed)
- Monitor registrations
- Cancel or modify events
- Delete events if needed
- Event Overview: Monitor all events in one place
- Registration Tracking: Track registered users for each event
- Status Management: Update event status in real-time
- Email Notifications: Send updates to registered users
- React: UI development
- TailwindCSS: Styling and responsive design
- Axios: API communication
- React Router: Navigation
- Lucide Icons: Modern iconography
- Node.js: Runtime environment
- Express: Web framework
- MongoDB: Database
- JWT: Authentication
- Bcrypt: Password hashing
- Clone the repository
git clone https://github.com/Ash469/ccd_training_skilling.git
cd training-skilling-portal- Install dependencies
# Frontend
cd frontend
npm install
# Backend
cd backend
npm install- Environment Setup
# Frontend (.env)
VITE_BACKEND_URL=
VITE_MICROSOFT_CLIENT_ID=
VITE_MICROSOFT_TENANT_ID=
VITE_REDIRECT_URI=
# Backend (.env)
PORT=
MONGO_URI=
JWT_SECRET=
OUTLOOK_EMAIL=
OUTLOOK_PASSWORD=
FRONTEND_URL=- Start the application
# Frontend
cd frontend
npm run dev
# Backend
cd backend
npm run devThis project supports Docker for easy setup.
- Clone the repository
git clone https://github.com/Ash469/ccd_training_skilling.git
cd ccd_training_skilling- Create environment files
Create a
.envin the root of the project.
# === Frontend Build-Time Variables ===
VITE_BACKEND_URL=
VITE_MICROSOFT_CLIENT_ID=
VITE_MICROSOFT_TENANT_ID=
VITE_REDIRECT_URI=
# === Backend Run-Time Variables ===
PORT=5001
MONGO_URI=
JWT_SECRET=
OUTLOOK_EMAIL=
OUTLOOK_PASSWORD=
FRONTEND_URL=- Docker Compose Configuration
Create a
docker-compose.ymlin the root directory:
version: "3.9"
services:
app:
build:
context: .
args:
VITE_BACKEND_URL: ${VITE_BACKEND_URL}
VITE_MICROSOFT_CLIENT_ID: ${VITE_MICROSOFT_CLIENT_ID}
VITE_MICROSOFT_TENANT_ID: ${VITE_MICROSOFT_TENANT_ID}
VITE_REDIRECT_URI: ${VITE_REDIRECT_URI}
container_name: ccd-app
ports:
- "5001:5001"
env_file:
- .env
volumes:
- ./backend/uploads/pdfs:/app/backend/uploads/pdfs
restart: unless-stopped- Build and start containers
docker-compose build --no-cache
docker-compose up -d- Check running containers
docker ps- Access the application
- Backend: http://localhost:5001
- Frontend: http://localhost:5001
- We had make a single container for both frontend and backend
- Stop containers
docker-compose down- IIT Guwahati Technical Team
- Centre For Career Development
- All contributors who helped in making this project better
Developed with ❤️ by CCD IITG Technical Team
