Skip to content

Repository files navigation

CodeAtlas Logo

CodeAtlas

Interactive Software Architecture & Codebase Map Explorer

Vercel Deployment Railway Deployment Monorepo Turborepo React Flow


CodeAtlas is an advanced software architecture exploration platform that transforms flat, complex codebases into living, interactive spatial maps. By cloning public GitHub repositories, scanning their file structures, parsing AST (Abstract Syntax Tree) relationships via the TypeScript Compiler API, and rendering them in an optimized interactive canvas, CodeAtlas lets you navigate codebase structure and dependencies like Google Maps.


✨ Features

  • ⚡ Instant Ingestion: Paste any public GitHub URL to clone, extract AST relationships, and map the architecture within seconds.
  • 🗺️ Living Relationship Explorer: Directed dependency lines draw themselves on-the-fly and host hardware-accelerated pulse particles showing import directions.
  • 🏛️ Multi-Perspective Mapping: Toggle between specialized views (Architecture, Dependency, Radial) depending on your exploration needs.
  • 🔍 Smart Search & Focus: Instantly search through folders and modules with fuzzy matching, panning the canvas directly to findings.
  • 📊 Code Metadata Inspector: Get file sizing, imports/exports counts, language metrics, and direct relationships on node selections.
  • 🛡️ Custom Visual Style: Renders circular dependency loops with distinctive amber highlight lines, muted hierarchy lines, and bright selection outlines.
  • 🧩 Semantic Classification: Auto-detects and color-codes architectural elements (e.g. Components, Hooks, API endpoints, Utilities) based on file analysis.

🗺️ Graph Perspectives

To make complex software relationships highly readable without creating visual noise, CodeAtlas supports three distinct visualization modes:

1. 📂 Architecture Perspective

  • Focus: Structural codebase hierarchy and file containment.
  • Behavior: Renders directory folders containing files. Uses thin, low-opacity gray lines to visualize structure while hiding all import lines to reduce clutter.

2. 🔌 Dependency Perspective

  • Focus: Module interactions and data flow.
  • Behavior: Traces semantic code dependencies. Visualizes import/export relationships with blue lines featuring flowing directional pulses. Traces circular dependency loops with distinctive amber highlight lines.

3. 🌀 Radial Perspective

  • Focus: High-impact modules and context mapping.
  • Behavior: Renders only high-importance "core" modules, direct relationships connected to the root module, and relationships connected to the currently selected or hovered node, filtering out background noise.

⚙️ Interactive Edge Filtering

Filter visual relationships dynamically to match your workflow:

  • Automatic: Intelligently defaults to the perspective's base filtering.
  • Selected: Shows only incoming and outgoing dependencies of the selected node.
  • Hovered: Focuses lines exclusively on the node under your mouse pointer, fading other elements.
  • All: Overrides filtering to show all computed relationships on the canvas.

🏛️ Architecture & Workspace

CodeAtlas is built as a unified Turborepo monorepo:

codeatlas/
├── apps/
│   ├── api/                  # NestJS backend parsing engine (cloning + AST extraction)
│   └── web/                  # Next.js 15 interactive frontend (React Flow + Zustand)
├── packages/
│   ├── config/               # Shared tooling configurations
│   ├── eslint-config/        # Monorepo linting standards
│   ├── types/                # Shared Graph and Repository TypeScript typings
│   ├── ui/                   # Modular UI design system components
│   └── utils/                # Shared utilities (e.g. url validator)
├── .tmp/                     # Ignored directory for cloned repositories
└── package.json              # Workspace packages definition

🛠️ Tech Stack

  • Frontend: Next.js 15 (React 19), Zustand, Tailwind CSS, Framer Motion
  • Backend: NestJS 10, Git CLI child-process sandbox
  • Graph Renderer: React Flow (@xyflow/react)
  • AST Parsing: TypeScript Compiler API

🚀 Installation & Local Development

Ensure you have Node.js 20+, pnpm, and Git installed on your system.

# 1. Clone the repository
git clone https://github.com/isthatpratham/CodeAtlas.git
cd CodeAtlas

# 2. Install dependencies
pnpm install

# 3. Start development servers
pnpm dev
  • Frontend: http://localhost:3000
  • Backend API: http://localhost:3001

🌐 Deployment & Hosting

CodeAtlas is deployed in a decoupled full-stack architecture:

1. Backend (Railway)

The API service is deployed on Railway to support spawning sandboxed git operations and directory parsing:

  • Requires a Docker environment or Node.js start command (npm run start:prod in apps/api).
  • Configure the environment variable:
    • PORT=3001
  • Next.js frontend points to this service URL via NEXT_PUBLIC_API_URL.

2. Frontend (Vercel)

The interactive client-side application is hosted on Vercel for fast edge loading:

  • Root Directory: apps/web
  • Framework Preset: Next.js
  • Build Command: pnpm run build
  • Install Command: pnpm install
  • Environment Variables:
    • NEXT_PUBLIC_API_URL (Set to your deployed Railway backend URL)

🤝 Contributing

Contributions are what make the open source community such an amazing place! Please check CONTRIBUTING.md to get started.

📝 License

This project is licensed under the MIT License. See the LICENSE file for details.

About

CodeAtlas is an interactive visualization platform that transforms a GitHub repository into an explorable map. Instead of reading software through folders and files, developers explore architecture spatially. A repository becomes a landscape.

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages