Skip to content

Varadha9/ELEVARE

Repository files navigation

ELEVARE - AI-Driven Career Discovery Platform

🚀 AI system for personalized career recommendations through longitudinal behavioral analysis


📋 Table of Contents


🎯 Overview

ELEVARE revolutionizes career discovery by replacing traditional one-time assessments with continuous behavioral analysis through AI-powered conversations. The platform provides personalized career recommendations based on longitudinal data patterns.

🌟 What Makes ELEVARE Special?

  • 🤖 LLM-Powered Conversations — Groq API (Llama 3.3 70B) for natural, empathetic dialogues
  • 📊 Longitudinal Analysis — Tracks behavioral patterns over time, not just a single session
  • 🧠 Scientific Foundation — Built on Big Five personality model and Ikigai framework
  • 🎯 Explainable AI — Transparent reasoning for every career recommendation
  • 🔒 Privacy-First — Your data stays secure and private
  • 🌙 Dark Mode — Full dark/light theme support

✨ Features

Feature Description Status
🤖 LLM-Powered AI Coach Groq API (Llama 3.3 70B) for intelligent conversations ✅ Live
📊 Behavioral Analysis 8 traits: creativity, analytical thinking, leadership, etc. ✅ Live
🧠 Personality Profiling Big Five model (OCEAN) with detailed insights ✅ Live
🎯 Ikigai Mapping Four-dimensional career framework visualization ✅ Live
💡 Smart Recommendations Trait-based career matching with confidence scores ✅ Live
🔍 NLP Processing Emotion detection, sentiment analysis, keyword extraction ✅ Live
📈 Progress Tracking Real-time analytics and streak tracking ✅ Live
🔄 Feedback Loop Continuous improvement through user feedback ✅ Live
📱 Mobile Responsive Works seamlessly on all devices ✅ Live
🌙 Dark Mode Full dark theme support ✅ Live

🏗️ Architecture

┌─────────────────────────────────────────┐
│     Frontend (React + Vite)             │
│  - Chat Interface                       │
│  - Dashboard & Analytics                │
└─────────────────┬───────────────────────┘
                  │ HTTP/REST
┌─────────────────▼───────────────────────┐
│   Backend API (Node.js + Express)       │
│  - Authentication (JWT)                 │
│  - Business Logic                       │
└─────────────────┬───────────────────────┘
                  │ HTTP
┌─────────────────▼───────────────────────┐
│    AI Services (Python + FastAPI)       │
│  - NLP Pipeline                         │
│  - Behavioral Analysis                  │
│  - Ikigai Calculation                   │
│  - Recommendation Engine                │
└─────────────────┬───────────────────────┘
                  │
┌─────────────────▼───────────────────────┐
│       Database (MongoDB)                │
│  - Users, Profiles, Conversations       │
│  - Behavioral Traits, Recommendations   │
└─────────────────────────────────────────┘

📦 Prerequisites

Software Version Download
Node.js 18+ nodejs.org
Python 3.9+ python.org
MongoDB 6+ mongodb.com
Git Latest git-scm.com

🚀 Quick Start

Option 1: Automated Setup (Recommended)

# 1. Clone the repository
git clone https://github.com/Varadha9/ELEVARE.git
cd ELEVARE

# 2. Run automated setup
.\setup.bat          # Windows

# 3. Start all services
.\launch-elevare.bat      # Windows

# 4. Open your browser
# Frontend:   http://localhost:3000
# Backend:    http://localhost:5000
# AI Service: http://localhost:8000

Option 2: Manual Setup

1. Clone Repository

git clone https://github.com/Varadha9/ELEVARE.git
cd ELEVARE

2. Backend Setup

cd backend
npm install
copy .env.example .env
# Edit .env with your values

3. Frontend Setup

cd ../frontend
npm install

4. AI Services Setup

cd ../ai-services
python -m venv venv
venv\Scripts\activate          # Windows
# source venv/bin/activate     # Linux/Mac
pip install -r requirements.txt
python -c "import nltk; nltk.download('punkt'); nltk.download('stopwords')"

5. Database Setup

cd ..
mkdir data\db
mongod --dbpath=data/db

📁 Project Structure

ELEVARE/
│
├── backend/                        # Node.js Express API
│   ├── config/
│   │   └── db.js                  # MongoDB connection
│   ├── controllers/               # Business logic
│   │   ├── authController.js
│   │   ├── conversationController.js
│   │   ├── profileController.js
│   │   └── recommendationController.js
│   ├── middleware/
│   │   ├── auth.js                # JWT middleware
│   │   └── validate.js            # Input validation
│   ├── models/                    # MongoDB schemas
│   │   ├── User.js
│   │   ├── UserProfile.js
│   │   ├── Conversation.js
│   │   └── Recommendation.js
│   ├── routes/                    # API endpoints
│   │   ├── authRoutes.js
│   │   ├── conversationRoutes.js
│   │   ├── profileRoutes.js
│   │   └── recommendationRoutes.js
│   ├── utils/
│   │   ├── errorHandler.js
│   │   └── responseFormatter.js
│   ├── server.js                  # Main server (inline routes + memory DB fallback)
│   └── package.json
│
├── frontend/                       # React Application
│   ├── public/
│   │   └── elevare-icon.svg       # App favicon
│   ├── src/
│   │   ├── components/
│   │   │   ├── charts/            # Recharts visualizations
│   │   │   │   ├── TraitsRadarChart.jsx
│   │   │   │   ├── PersonalityRadarChart.jsx
│   │   │   │   └── ProgressLineChart.jsx
│   │   │   ├── layout/            # App shell
│   │   │   │   ├── DashboardLayout.jsx
│   │   │   │   ├── Navbar.jsx
│   │   │   │   └── Sidebar.jsx
│   │   │   └── ui/                # Reusable UI components
│   │   │       ├── Badge.jsx
│   │   │       ├── Button.jsx
│   │   │       ├── Card.jsx
│   │   │       ├── ConfirmModal.jsx
│   │   │       ├── ErrorBoundary.jsx
│   │   │       ├── Loading.jsx
│   │   │       ├── PageTransition.jsx
│   │   │       ├── Progress.jsx
│   │   │       ├── Skeleton.jsx
│   │   │       ├── Toast.jsx
│   │   │       ├── Tooltip.jsx
│   │   │       └── index.js
│   │   ├── context/
│   │   │   └── AuthContext.jsx    # Auth state management
│   │   ├── hooks/
│   │   │   ├── useProfile.js      # Profile fetch hook
│   │   │   └── useConversations.js # Conversations fetch hook
│   │   ├── lib/
│   │   │   └── utils.js           # cn() utility
│   │   ├── pages/
│   │   │   ├── Home.jsx
│   │   │   ├── Login.jsx
│   │   │   ├── Register.jsx
│   │   │   ├── Dashboard.jsx
│   │   │   ├── Reflection.jsx     # AI chat interface
│   │   │   ├── Personality.jsx
│   │   │   ├── Careers.jsx
│   │   │   ├── Ikigai.jsx
│   │   │   ├── ProgressTracking.jsx
│   │   │   ├── Settings.jsx
│   │   │   └── NotFound.jsx
│   │   ├── services/
│   │   │   └── api.js             # Axios API client
│   │   ├── App.jsx
│   │   ├── index.css
│   │   └── main.jsx
│   ├── index.html
│   ├── tailwind.config.js
│   └── package.json
│
├── ai-services/                    # Python AI Microservices
│   ├── data/
│   │   └── career_data.py         # Career database
│   ├── prompts/
│   │   └── career_coach_prompts.py
│   ├── services/
│   │   ├── nlp_processor.py       # NLP pipeline
│   │   ├── behavioral_analyzer.py # Trait + Ikigai analysis
│   │   ├── conversational_agent.py # Groq LLM agent
│   │   └── recommendation_engine.py
│   ├── utils/
│   │   ├── database.py            # MongoDB utilities
│   │   ├── llm_client.py          # Groq API client
│   │   ├── logger.py
│   │   └── response_formatter.py
│   ├── main.py                    # FastAPI server
│   └── requirements.txt
│
├── docs/                           # Documentation
│   ├── API.md
│   ├── ARCHITECTURE.md
│   ├── DEPLOYMENT.md
│   ├── INSTALLATION.md
│   └── LLM_INTEGRATION.md
│
├── datasets/                       # Career dataset
│   ├── career_dataset.csv
│   └── preprocess_dataset.py
│
├── data/db/                        # MongoDB data directory
├── setup.bat                       # Automated setup script
├── launch-elevare.bat              # Launch all services
├── health-check.bat                # Service health check
├── .gitignore
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE
├── TROUBLESHOOTING.md
└── README.md

📚 API Documentation

🔗 Access Points

Service URL
🌐 Frontend http://localhost:3000
🔌 Backend API http://localhost:5000
🤖 AI Service http://localhost:8000

Authentication

Register

POST /api/auth/register
Content-Type: application/json

{
  "name": "Jane Doe",
  "email": "jane@example.com",
  "password": "password123",
  "age": 22,
  "education": "undergraduate"
}

Login

POST /api/auth/login
Content-Type: application/json

{
  "email": "jane@example.com",
  "password": "password123"
}

Change Password

PUT /api/auth/change-password
Authorization: Bearer <token>
Content-Type: application/json

{
  "currentPassword": "oldpassword",
  "newPassword": "newpassword123"
}

Delete Account

DELETE /api/auth/account
Authorization: Bearer <token>

Profile

Get Profile

GET /api/profile
Authorization: Bearer <token>

Update Profile

PUT /api/profile
Authorization: Bearer <token>
Content-Type: application/json

{
  "name": "Jane Doe",
  "email": "jane@example.com"
}

Export Data

GET /api/profile/export
Authorization: Bearer <token>

Conversations

Send Message

POST /api/conversations/message
Authorization: Bearer <token>
Content-Type: application/json

{
  "message": "I really enjoyed solving that algorithm problem today"
}

Get History

GET /api/conversations/history
Authorization: Bearer <token>

Recommendations

Get Recommendations

GET /api/recommendations
Authorization: Bearer <token>

Generate Recommendations

POST /api/recommendations/generate
Authorization: Bearer <token>

Health

GET /health

🔧 Configuration

Backend (backend/.env)

PORT=5000
MONGODB_URI=mongodb://localhost:27017/elevare
JWT_SECRET=your_super_secure_secret_key_here
JWT_EXPIRE=7d
AI_SERVICE_URL=http://localhost:8000
NODE_ENV=development
USE_MEMORY_DB=false

AI Service (ai-services/.env)

MONGODB_URI=mongodb://localhost:27017/elevare
AI_SERVICE_PORT=8000
GROQ_API_KEY=your_groq_api_key_here

Get a free Groq API key at console.groq.com


🛠️ Technology Stack

Layer Technologies
Frontend React 18, Vite, TailwindCSS, Framer Motion, Recharts
Backend Node.js, Express, JWT, Bcrypt, express-rate-limit
AI Engine Python, FastAPI, Groq API (Llama 3.3 70B), NLTK, TextBlob
Database MongoDB, Mongoose
DevOps GitHub Actions CI/CD

🧪 Testing

# Backend health
curl http://localhost:5000/health

# AI Service health
curl http://localhost:8000/health

# Frontend
open http://localhost:3000

🚢 Deployment

Service Recommended Platform
Frontend Vercel, Netlify
Backend AWS EC2, Railway, Render
AI Service AWS EC2, Fly.io
Database MongoDB Atlas

See docs/DEPLOYMENT.md for detailed instructions.


📊 Database Collections

Collection Purpose
users Authentication and basic info
userprofiles Behavioral traits, personality, Ikigai
conversations Chat history with NLP analysis
recommendations Career suggestions with feedback

🔐 Security

  • JWT token authentication
  • Bcrypt password hashing (12 rounds)
  • Input validation on all endpoints
  • Rate limiting (100 req / 15 min)
  • CORS configuration
  • Helmet security headers

🤝 Contributing

  1. Fork the repository
  2. Create a branch: git checkout -b feature/your-feature or fix/issue-description
  3. Make your changes and test thoroughly
  4. Commit: git commit -m "feat: add your feature"
  5. Push: git push origin feature/your-feature
  6. Open a Pull Request against main

See CONTRIBUTING.md for detailed guidelines.


📝 License

MIT License — see LICENSE for details.


👤 Author

VaradhaGitHub


🙏 Acknowledgments


Built with ❤️ for students discovering their career path

⭐ Star this repo if ELEVARE helps you!

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors