A comprehensive mentorship platform connecting mentors and mentees through interactive sessions, workshops, and community engagement.
-
User Management
- Role-based authentication (Mentors, Mentees, Admins)
- Profile management with skill tracking
- Email verification system
-
Mentorship Features
- Session scheduling and booking
- Workshop creation and management
- Interactive calendar for availability
- AI-powered mentor recommendations
- Progress tracking and milestones
-
Communication Tools
- Real-time chat functionality
- Video meetings integration
- Community discussion forums
- Notification system
-
Career Development
- Job board with application system
- Skill assessment tools
- Workshop participation
- Achievement tracking
-
Analytics & Insights
- Mentor statistics dashboard
- Session analytics
- Progress tracking
- Performance metrics
- React 18.x
- Vite
- Material-UI
- Chart.js/Recharts for analytics
- WebSocket for real-time features
- VideoSDK for video meetings
- Node.js with Express
- Prisma ORM
- PostgreSQL database
- Google's Generative AI integration
- JWT authentication
- WebSocket server
- Node.js (v16 or higher)
- PostgreSQL
- npm or yarn
- Clone the repository:
git clone [repository-url]
cd zenskills- Install dependencies:
# Install root dependencies
npm install
# Install frontend dependencies
cd frontend
npm install
# Install backend dependencies
cd ../backend
npm install- Set up environment variables:
Create .env files in both frontend and backend directories:
Backend .env:
DATABASE_URL="postgresql://username:password@localhost:5432/zenskills"
JWT_SECRET=your_jwt_secret
GOOGLE_AI_API_KEY=your_api_key
EMAIL_SERVICE_KEY=your_email_service_keyFrontend .env:
VITE_API_URL=http://localhost:3000
VITE_WEBSOCKET_URL=ws://localhost:3000- Initialize the database:
cd backend
npx prisma migrate dev
npm run seed- Start the backend server:
cd backend
npm run dev- Start the frontend development server:
cd frontend
npm run devThe application will be available at:
- Frontend: http://localhost:5173
- Backend API: http://localhost:3000
Frontend:
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildnpm run lint- Run ESLint
Backend:
npm run dev- Start development server with nodemonnpm start- Start production servernpm run seed- Seed the database with initial data
zenskills/
├── frontend/
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Page components
│ │ ├── apis/ # API integration
│ │ ├── styles/ # CSS/SCSS styles
│ │ └── misc/ # Utilities and helpers
│ └── public/ # Static assets
├── backend/
│ ├── controllers/ # Request handlers
│ ├── models/ # Database models
│ ├── routes/ # API routes
│ ├── middlewares/ # Custom middlewares
│ ├── services/ # Business logic
│ └── prisma/ # Database schema and migrations
DATABASE_URL: PostgreSQL connection stringJWT_SECRET: Secret key for JWT tokensGOOGLE_AI_API_KEY: Google AI API credentialsEMAIL_SERVICE_KEY: Email service credentialsPORT: Server port (default: 3000)
VITE_API_URL: Backend API URLVITE_WEBSOCKET_URL: WebSocket server URL
This project is licensed under the MIT License - see the LICENSE file for details.