A decentralized, community-driven knowledge graph and timeline for Nigeria—essentially a "source of truth" aggregator that visualizes political and economic history.
# Nigeria Timeline
A transparent, data-driven timeline mapping Nigeria's economic and political evolution — built to replace apathy with verifiable truth.
## The Vision
Most Nigerians complain about the current state of the economy, yet few understand the historical trajectory that led us here. In an era where many are distracted by short-term noise and cheap dopamine, this project exists to provide a grounded, undeniable record of how our systems have performed.
This is not just a database. It is a tool for systemic literacy — designed to map the relationship between political decisions and economic outcomes, and make that knowledge freely accessible to anyone who wants it.
---
## Tech Stack
| Layer | Technology |
|---|---|
| Framework | Next.js (TypeScript) |
| Database | PostgreSQL |
| ORM | Drizzle ORM |
| Data Visualization | D3.js / Cytoscape.js |
| Data Ingestion | Node.js pipelines (NBS, CBN, verified public repositories) |
| Infrastructure | Docker / Docker Compose |
---
## Getting Started
### Prerequisites
Make sure you have the following installed on your machine:
- Docker (v24+)
- Docker Compose (v2.20+)
- Git
- Node.js (v20+ — only needed if running outside Docker)
---
### Installation
**1. Clone the repository**
```bash
git clone
github.com
cd NigeriaTimeline
```
**2. Set up environment variables**
```bash
cp .env.example .env
```
Open `.env` and fill in the required values:
```env
# App
NODE_ENV=development
NEXT_PUBLIC_APP_URL=
localhost
# Database
POSTGRES_USER=postgres
POSTGRES_PASSWORD=your_password_here
POSTGRES_DB=nigeria_tracker
DATABASE_URL=postgresql://postgres:your_password_here@db:5432/nigeria_tracker
```
**3. Build and start the containers**
```bash
docker compose up --build
```
This starts three services:
- `app` — Next.js dev server on `
localhost`
- `db` — PostgreSQL on port `5432`
**4. Run database migrations**
In a separate terminal (while container …