A comprehensive web application for tracking skills, generating personalized learning roadmaps, and managing professional development goals.
- Modern UI: Built with React, Vite, and Tailwind CSS
- Dashboard: Interactive skill tracking with progress visualization
- AI-Powered Roadmaps: Generate personalized learning paths
- Responsive Design: Mobile-first approach with adaptive layouts
- Authentication: Secure user login and registration
- Real-time Updates: Live progress tracking and notifications
- RESTful API: Well-structured endpoints for all operations
- Authentication: JWT-based secure authentication
- Database Integration: Firebase for data persistence
- Skill Management: CRUD operations for skills and progress
- Roadmap Generation: AI-powered personalized roadmaps
- React 18 - Modern React with hooks
- Vite - Fast build tool and dev server
- Tailwind CSS - Utility-first CSS framework
- React Router - Client-side routing
- Axios - HTTP client for API calls
- Firebase - Authentication and data storage
- Node.js - JavaScript runtime
- Express.js - Web application framework
- Firebase Admin SDK - Server-side Firebase operations
- JWT - JSON Web Tokens for authentication
- CORS - Cross-origin resource sharing
skill-tracker-website/
βββ skill-tracker-frontend/ # React frontend application
β βββ public/ # Static assets
β βββ src/
β β βββ components/ # Reusable UI components
β β β βββ Auth/ # Authentication components
β β β βββ Dashboard/ # Dashboard components
β β β βββ home/ # Landing page components
β β β βββ ...
β β βββ contexts/ # React contexts
β β βββ firebase/ # Firebase configuration
β β βββ pages/ # Page components
β β βββ utils/ # Utility functions
β β βββ ...
β βββ package.json
β βββ vite.config.js
β
βββ skill-tracker-backend/ # Node.js backend application
β βββ controllers/ # Route controllers
β βββ middleware/ # Custom middleware
β βββ models/ # Data models
β βββ routes/ # API routes
β βββ config/ # Configuration files
β βββ server.js # Main server file
β βββ package.json
β
βββ README.md # Project documentation
- Node.js (v16 or higher)
- npm or yarn
- Git
- Firebase project (for authentication and database)
-
Clone the repository
git clone https://github.com/pankajbaria712/Skill-Tracker-and-Personalized-Roadmap-Generator.git cd skill-tracker-website -
Backend Setup
cd skill-tracker-backend npm installCreate a
.envfile in the backend directory:PORT=5000 FIREBASE_PROJECT_ID=your-project-id FIREBASE_PRIVATE_KEY=your-private-key FIREBASE_CLIENT_EMAIL=your-client-email JWT_SECRET=your-jwt-secret
-
Frontend Setup
cd ../skill-tracker-frontend npm installCreate a
.envfile in the frontend directory:VITE_API_BASE_URL=http://localhost:5000/api VITE_FIREBASE_API_KEY=your-firebase-api-key VITE_FIREBASE_AUTH_DOMAIN=your-project.firebaseapp.com VITE_FIREBASE_PROJECT_ID=your-project-id
- Create a Firebase project at Firebase Console
- Enable Authentication and Firestore Database
- Generate a service account key for the backend
- Update the environment variables with your Firebase credentials
-
Start the Backend
cd skill-tracker-backend npm start -
Start the Frontend
cd skill-tracker-frontend npm run dev -
Access the Application
- Frontend: http://localhost:5173
- Backend API: http://localhost:5000
POST /api/auth/register- User registrationPOST /api/auth/login- User loginPOST /api/auth/logout- User logout
GET /api/skills- Get all user skillsPOST /api/skills- Create new skillPUT /api/skills/:id- Update skillDELETE /api/skills/:id- Delete skill
GET /api/roadmaps- Get user roadmapsPOST /api/roadmaps- Generate new roadmapPUT /api/roadmaps/:id- Update roadmap
The frontend includes various reusable components:
- Navbar: Navigation with user menu
- Sidebar: Dashboard navigation
- ProgressRing: Circular progress indicators
- ActivityFeed: Recent activity display
- RoadmapSection: Interactive roadmap display
- AIResourceModal: AI-powered resource suggestions
Frontend:
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run lint # Run ESLintBackend:
npm start # Start production server
npm run dev # Start development server with nodemon
npm test # Run tests- ESLint for code linting
- Prettier for code formatting
- Husky for git hooks
cd skill-tracker-frontend
npm run build
# Deploy the dist/ folder to your hosting servicecd skill-tracker-backend
npm run build
# Deploy to your preferred Node.js hosting service- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For questions or support, please open an issue on GitHub.
- React community for excellent documentation
- Tailwind CSS for the amazing utility-first approach
- Firebase for seamless backend integration
- All contributors and supporters
Happy Learning! π