Youth Competency Intelligence Graph is an advanced career development platform designed to bridge the gap between education and employability.By leveraging a directed acyclic graph (DAG) structure for skill dependencies, the application provides users with personalized learning paths, role readiness assessments, and AI-driven resource recommendations.
This project goes beyond simple to-do lists by intelligently mapping skills to target roles, visualizing progress through interactive graphs, and assessing cognitive aptitude via an integrated psychometric test suite.
- 🧠 Intelligent Skill Mapping: Visualizes skill dependencies using a directed graph (DAG) to generate topologically sorted learning paths.
- 🎯 Role Readiness Tracker: Real-time percentage tracking of readiness for target roles based on acquired skills.
- 📊 Interactive Dashboard: robust analytics dashboard displaying aptitude scores, skill progress, and career insights.
- 🔐 Secure Authentication: Full authentication system with JWT, bcrypt hashing, and Email OTP verification.
- 🧩 Psychometric Assessment: Integrated cognitive testing module (Numerical, Verbal, Abstract, etc.) with immediate graphical feedback.
- 🤖 Smart Recommendations: Algorithmic suggestions for learning resources based on individual skill gaps.
- ⚡ Modern State Management: Scalable frontend architecture using Redux Toolkit for global state management.
- Framework: React.js (Vite)
- State Management: Redux Toolkit
- Styling: Tailwind CSS
- Visualization: React Flow & Dagre.js (for auto-layout graphs)
- Icons: Lucide React
- HTTP Client: Axios
- Runtime: Node.js & Express.js
- Database: MongoDB (Mongoose ODM)
- Authentication: JWT (JSON Web Tokens) & NodeMailer (OTP)
- Security: Bcrypt.js, CORS, Dotenv
├── client/ # Frontend React Application
│ ├── src/
│ │ ├── components/ # Reusable UI components (Sidebar, Navbar, Layout)
│ │ ├── context/ # (Legacy) Context API implementations
│ │ ├── pages/ # Application Pages (Dashboard, Skills, Learning Path)
│ │ ├── redux/ # Redux Slices (authSlice, dataSlice) & Store
│ │ └── services/ # API integration service
│ └── ...
├── server/ # Backend Node.js API
│ ├── src/
│ │ ├── controllers/ # Route controllers (Auth, Skills, Recommendations)
│ │ ├── models/ # Mongoose Schemas (User, Skill, OTP, Role)
│ │ ├── routes/ # Express Routes
│ │ └── utils/ # Helpers (EmailSender, OTPGenerator, GraphAlgorithms)
│ └── ...
└── README.mdFollow these steps to set up the project locally:
- Node.js (v18+ recommended)
- MongoDB (Local or Atlas URI)
-
Clone the Repository
git clone https://github.com/geeky-rish/Youth-Competency-Graph.git cd Youth-Competency-Graph -
Setup Backend
cd server npm install- Create a
.envfile in theserverdirectory:PORT=3000 MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret_key EMAIL_USER=your_email_address EMAIL_PASS=your_email_app_password
- Seed the database (optional but recommended):
node seed.js
- Start the server:
npm run dev
- Create a
-
Setup Frontend
cd ../client npm install- Start the development server:
npm run dev
- Start the development server:
-
Access the Application
- Open your browser and navigate to
http://localhost:5173.
- Open your browser and navigate to
Contributions are welcome! Please fork the repository and submit a pull request for any enhancements:
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request