Skip to content

RebuildingAmerica/atlas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The Atlas

A national directory and autodiscovery engine for organizations, people, and initiatives working on transformative change across America.

What Is The Atlas?

The Atlas is a searchable directory that helps people discover who's doing work on issues they care about — housing, labor, climate, democracy, justice — in any city or region across the country.

The core product is an autodiscovery pipeline: feed it a location and set of issues, and it searches the web, extracts structured data using AI, deduplicates results, and ranks them by relevance. Every entry traces back to the public sources where it came from.

Current Phase: Phase 1 (Scaffold) — Core APIs and database schema in place. Pipeline is stubbed. Frontend is built with routing and components.

Quick Start

Prerequisites

  • Python 3.12+
  • Node.js 20+
  • Make

Full setup instructions: Prerequisites

3-Step Setup

# 1. Clone and navigate to the project
cd atlas

# 2. Run first-time setup
make setup

# 3. Start development
make dev

Documentation

Full documentation is in docs/:

Or jump to docs/README.md for the full documentation hub.

Tech Stack

  • Backend: Python 3.12 + FastAPI + SQLite (FTS5)
  • Frontend: TanStack Start (React + TypeScript)
  • AI: Anthropic Claude API for extraction
  • DevOps: Docker Compose, Makefile, git hooks

Development Commands

Common commands. Run make help for all:

make dev              # Start full stack (api + app)
make dev-api          # Start API server only
make dev-app          # Start app only

make quality          # Run all quality checks
make format           # Format code
make lint             # Lint code
make typecheck        # Type-check code
make test             # Run tests with coverage

make db-init          # Initialize database
make db-reset         # Reset database (deletes data)

docker compose up     # Run with Docker

Project Structure

atlas/
├── api/                      # Python/FastAPI API server
│   ├── atlas/
│   │   ├── api/              # REST endpoints
│   │   ├── models/           # Database models
│   │   ├── pipeline/         # Autodiscovery pipeline (6 steps)
│   │   ├── schemas/          # Pydantic schemas
│   │   └── taxonomy/         # Issue area definitions
│   └── tests/                # Test suite
│
├── app/                      # TanStack Start (React/TypeScript)
│   ├── src/
│   │   ├── routes/           # File-based routes
│   │   ├── components/       # Reusable components
│   │   ├── hooks/            # Custom hooks
│   │   ├── types/            # TypeScript types
│   │   └── lib/              # API client, utils
│
├── docs/                     # Documentation
│   ├── getting-started/      # Onboarding
│   ├── architecture/         # System design
│   ├── development/          # Development guide
│   ├── standards/            # Code standards
│   └── design/               # Product vision
│
├── .githooks/                # Git hooks (quality gates)
├── Makefile                  # Development commands
├── docker-compose.yml        # Multi-container setup
└── .env.example              # Environment template

For details: Project Structure

Quality & Standards

All code is checked automatically:

  • Pre-commit hook: Format, lint, types on every commit
  • Commit-msg hook: Enforces Conventional Commits format
  • Pre-push hook: Full test suite, 90%+ coverage, build succeeds

See Code Quality for how to fix issues.

Architecture

Three-layer design:

  1. Interface Layer — REST API + React app
  2. Business Logic Layer — FastAPI endpoints + autodiscovery pipeline
  3. Storage Layer — SQLite database with FTS5 full-text search

The pipeline is the core: it takes a location and issue areas, searches the web, extracts entries using Claude AI, deduplicates, ranks, and identifies gaps.

See System Overview for details.

Contributing

  1. Read the Getting Started guide
  2. Follow Development Workflow
  3. Reference Standards for code style
  4. Write tests and ensure all quality checks pass

Commits must follow Conventional Commits format. Hooks enforce this automatically.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors