Skip to content

rbhatDhan/Dev-Insight-API-Engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Dev Insight API Engine

An intelligent backend system that analyzes a developer’s GitHub profile and generates personalized insights, recommendations, and learning suggestions using real-time data.


📌 Overview

This project integrates multiple APIs and applies logic to understand a developer’s activity and interests. It then provides smart, personalized recommendations based on:

  • GitHub repository analysis
  • Activity scoring
  • Trending technology news

🎯 Features

🔐 Authentication

  • User Registration & Login
  • JWT-based authentication
  • Protected API routes

📊 Developer Insights

  • Fetch GitHub user data
  • Analyze public repositories
  • Detect user interest (AI, Web, Data, etc.)

🧠 Smart Recommendation Engine

  • Interest-based classification using repo names
  • Personalized news fetching using News API
  • Intelligent recommendation generation

📈 Activity Scoring

  • Calculates developer level based on:

    • Number of repositories
    • Number of followers
  • Classifies users as:

    • Beginner
    • Intermediate
    • Advanced

🗂️ Data Persistence

  • Stores insights history in MongoDB
  • Users can fetch previous insights

🛠️ Tech Stack

  • Backend: Node.js, Express.js

  • Database: MongoDB Atlas

  • Authentication: JWT

  • APIs Used:

    • GitHub API
    • News API

🧠 How It Works

User Request → GitHub API → Repo Analysis → Interest Detection
→ News API → Activity Scoring → Recommendation Generation → Store in DB

🔍 Interest Detection Logic

The system analyzes repository names and detects user interest using keyword-based pattern matching:

  • "ai", "ml" → Artificial Intelligence
  • "web" → Web Development
  • "data" → Data Science

📡 API Endpoints

🔹 Auth Routes

Register

POST /api/auth/register

Login

POST /api/auth/login

🔹 Insight Routes

Generate Insights

GET /api/insights?username=<github_username>

Headers:

Authorization: Bearer <token>

Get History

GET /api/history

Headers:

Authorization: Bearer <token>

⚙️ Environment Variables

Create a .env file:

MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_key
NEWS_API_KEY=your_news_api_key
PORT=5000

🔐 Security Note

  • .env file is ignored using .gitignore
  • Sensitive credentials are not exposed in the repository

🚀 Getting Started

1. Clone the repository

git clone <your-repo-url>
cd Dev-Insight-API-Engine

2. Install dependencies

npm install

3. Setup environment variables

Create .env file as shown above

4. Run the server


npm run dev

📌 Future Improvements

  • Add frontend dashboard (React)
  • Improve interest detection using NLP
  • Integrate machine learning model
  • Add more GitHub analytics (stars, commits)

💡 Key Learnings

  • REST API design and development
  • JWT authentication and middleware
  • MongoDB integration
  • External API handling (GitHub + News)
  • Building logic-driven systems
  • Debugging and real-world problem solving

👨‍💻 Author

Developed as part of learning backend development and working with APIs


⭐ Final Note

This project demonstrates how raw data from APIs can be transformed into meaningful, personalized insights using logic and system design.


About

Backend API that analyzes GitHub data to generate personalized developer insights using rule-based interest detection.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors