A comprehensive full-stack career guidance platform built with React, Node.js, and Express.js. This project consists of two separate microservices: a frontend React application and a backend API service.
SIH/
βββ frontend/ # React + Vite + Tailwind CSS
βββ backend/ # Node.js + Express.js
βββ README.md
- Node.js (v18 or higher)
- npm or yarn
- MongoDB (optional - runs with dummy data if not connected)
-
Navigate to the backend directory:
cd backend -
Install dependencies:
npm install
-
Create environment file:
cp env.example .env
-
Update
.envwith your configuration:PORT=5000 NODE_ENV=development MONGODB_URI=mongodb://localhost:27017/career-guidance FRONTEND_URL=http://localhost:5173
-
Start the development server:
npm run dev
The backend will be available at http://localhost:5000
-
Navigate to the frontend directory:
cd frontend -
Install dependencies:
npm install
-
Create environment file:
cp env.example .env
-
Update
.envwith your configuration:VITE_API_URL=http://localhost:5000/api VITE_APP_NAME=Career Guidance Platform
-
Start the development server:
npm run dev
The frontend will be available at http://localhost:5173
- Home Page: Landing page with feature overview and call-to-action
- Career Quiz: Interactive assessment with personality analysis
- Roadmap: Detailed career path guides with timelines
- Colleges: College finder with comparison functionality
- Success Stories: Alumni stories and testimonials
- Chatbot: AI-powered career guidance assistant
- Dashboard: Analytics and insights (admin view)
- Multi-language Support: English and Hindi
- Offline Support: PWA with service worker
- Responsive Design: Mobile-first approach
- RESTful API: Well-structured endpoints
- Quiz System: Career assessment with scoring
- Roadmap Management: Course and career path data
- College Database: Comprehensive college information
- Story Management: User-generated content
- FAQ System: Chatbot knowledge base
- Analytics: Usage statistics and insights
- CORS Support: Cross-origin resource sharing
- Error Handling: Comprehensive error management
- Logging: Request and error logging
- React 18: Modern React with hooks
- Vite: Fast build tool and dev server
- Tailwind CSS: Utility-first CSS framework
- React Router: Client-side routing
- React Query: Data fetching and caching
- Framer Motion: Animation library
- React i18next: Internationalization
- Recharts: Data visualization
- Lucide React: Icon library
- Node.js: JavaScript runtime
- Express.js: Web framework
- Mongoose: MongoDB object modeling
- CORS: Cross-origin resource sharing
- Helmet: Security middleware
- Morgan: HTTP request logger
- Joi: Data validation
- bcryptjs: Password hashing
- jsonwebtoken: JWT authentication
POST /api/quiz- Submit quiz resultsGET /api/quiz/results- Get user quiz results
GET /api/roadmap- Get all roadmapsGET /api/roadmap/:course- Get specific roadmapGET /api/roadmap/search- Search roadmapsGET /api/roadmap/categories- Get categories
GET /api/colleges- Get all collegesGET /api/colleges/:id- Get specific collegeGET /api/colleges/search- Search collegesPOST /api/colleges/compare- Compare collegesGET /api/colleges/stats- Get statistics
GET /api/stories- Get all storiesGET /api/stories/:id- Get specific storyGET /api/stories/search- Search storiesGET /api/stories/featured- Get featured storiesPOST /api/stories/:id/like- Like a storyPOST /api/stories/:id/comments- Add comment
GET /api/faq- Get all FAQsGET /api/faq/:id- Get specific FAQGET /api/faq/search- Search FAQsPOST /api/faq/query- Submit chatbot queryPOST /api/faq/:id/helpful- Mark FAQ as helpful
GET /api/analytics- Get dashboard dataGET /api/analytics/engagement- Get engagement metricsGET /api/analytics/performance- Get performance dataGET /api/analytics/health- Get system health
- Personal information and preferences
- Quiz results and progress
- Authentication data
- User answers and scores
- Personality analysis
- Recommended courses
- Course information and timelines
- Career paths and resources
- Market demand data
- Institution details and rankings
- Courses and facilities
- Placement statistics
- Alumni success stories
- Career journeys and advice
- User engagement metrics
- Question and answer pairs
- Categories and tags
- Helpfulness ratings
- Set up MongoDB Atlas or local MongoDB
- Configure environment variables
- Deploy to platforms like Heroku, Railway, or AWS
- Set up CORS for frontend domain
- Build the production bundle:
npm run build - Deploy to platforms like Vercel, Netlify, or AWS S3
- Configure environment variables
- Set up custom domain (optional)
- Components: Reusable UI components
- Pages: Route-level components
- Hooks: Custom React hooks
- Utils: Helper functions and utilities
- Services: API integration
- Context: Global state management
- Component-based architecture
- Responsive design principles
- Accessibility considerations
- Performance optimization
- Error boundary implementation
- Code splitting and lazy loading
- Offline Support: Service worker caching
- Installable: Add to home screen
- Responsive: Works on all devices
- Fast Loading: Optimized assets
- Background Sync: Data synchronization
- English: Default language
- Hindi: Full translation support
- Extensible: Easy to add more languages
- RTL Support: Right-to-left text support
- CORS: Cross-origin protection
- Helmet: Security headers
- Rate Limiting: Request throttling
- Input Validation: Data sanitization
- Error Handling: Secure error messages
- Code Splitting: Lazy loading
- Image Optimization: WebP support
- Caching: Browser and service worker
- Bundle Analysis: Webpack bundle analyzer
- Lighthouse: Performance monitoring
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions:
- Create an issue in the repository
- Check the documentation
- Review the API endpoints
- Test with the provided dummy data
- User authentication and profiles
- Real-time notifications
- Advanced analytics dashboard
- Mobile app development
- AI-powered recommendations
- Video content integration
- Social features and communities
- Payment integration for premium features
Note: This project uses dummy data for demonstration purposes. Connect to MongoDB Atlas for production use by adding your connection string to the environment variables.