Skip to content

GitMap is an AI-powered platform that helps developers quickly understand and keep up with unfamiliar GitHub repositories through an interactive code map, natural language Q&A, and real-time notifications on repository changes, making code exploration faster, collaboration smoother, and updates easier to follow.

License

Notifications You must be signed in to change notification settings

Nour-El-Dandachi/gitmap

Repository files navigation



GitMap is your companion for making sense of unfamiliar codebases. Instead of digging through endless folders, you get a clear visual map that shows how files are connected, letting you see the bigger picture at a glance.

You can even ask natural language questions about any file, and the built-in AI agent will give you clear, contextual answers. Whenever something changes in your repository, GitMap keeps you in the loop with simple notifications, so you’re never caught off guard. On top of that, it uses machine learning to predict which parts of the code might be unstable, helping you spot risks early and focus your attention where it matters most.

Whether you’re onboarding to a new project or keeping track of your own, GitMap turns messy repos into something you can actually understand and trust.



ER Diagram

View the live ER diagram here: Eraser Workspace

System Architecture



Why GitMap Stands Out

  • Interactive Code Map : instantly see how files connect through imports and dependencies.
  • Natural Language Q&A with AI Agent : ask plain-English questions about any file and explore the repo with contextual answers and guidance.
  • Change Notifications : stay up to date with simple alerts whenever your repository changes.
  • Code Stability Predictions : machine learning highlights risky or unstable areas of the code.





User Screens (Web)

Login screen Register screen
Landing fsdaf
Dashboard screen My Repos screen
Landing fsdaf
Map screen Notifications screen
Landing fsdaf
Map Generation
Landing
AI Agent
Landing
Machine Learning
Landing



Services Validation Testing
Landing fsdaf fsdaf

Running Tests

All tests can be run inside Docker containers without installing extra tools locally: use docker compose run --rm backend python manage.py test -v 2 for backend (Django) tests and docker compose run --rm frontend npm test -- --watchAll=false for frontend (React) tests. The --rm flag ensures containers are removed after execution, keeping the environment clean. These same tests also run automatically in CI (GitHub Actions) on every push and pull request to the main and dev branches.



Frontend Tests Backend Tests
Landing fsdaf



AI Agent

Simple Inputs: The user just provides a GitHub repository URL.

Smart Processing: The system fetches code and commits, then the AI agent indexes and analyzes the repository.

Clear Outputs: The AI agent delivers easy-to-understand answers and insights based on the code.



AI Agent Explanation
Landing



Machine Learning

Our Random Forest model was trained on defect prediction data and evaluated on a held-out test set. The key metrics are:

Accuracy: 0.82 → The model correctly classifies ~82% of files overall.

Precision: 0.56 → When the model predicts a defect, it is correct about 56% of the time.

Recall: 0.23 → The model detects ~23% of actual defective files, meaning some are missed.

F1 Score: 0.32 → Balances precision and recall, showing moderate performance on defect detection.

These results indicate that the model is strong at identifying non-defective files, but recall for defective files is lower, a typical challenge in imbalanced datasets.



Metrics Bar
Landing



Confusion Matrix ROC Curve
Landing fsdaf



n8n Workflow

This workflow automatically checks watched GitHub repositories on a schedule, retrieves the latest commit information, and compares it with the stored commit reference. If new commits are found, it updates the record and sends a notification to the user, ensuring users are always informed about changes in their repositories.

Workflow
Landing



API calls

POST Add a GitHub repository GET code map data POST Predict defects for repository files
Landing fsdaf fsdaf



Linear Board

I used Linear to stay organized and manage my workflow as a solo developer. Each task followed a clear cycle:

Create Ticket → Create Branch (Linear standard) → Make Commits (with task ID) → Push → Open Pull Request → Merge Pull Request

This kept my work structured and traceable from start to finish.

Board
Landing

About

GitMap is an AI-powered platform that helps developers quickly understand and keep up with unfamiliar GitHub repositories through an interactive code map, natural language Q&A, and real-time notifications on repository changes, making code exploration faster, collaboration smoother, and updates easier to follow.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published