A premier academic conference management platform connecting researchers, policymakers, and practitioners across Africa and the globe.
# Focus Space Platform
Academic conference management platform built with React + Vite + TypeScript (frontend) and Strapi (backend).
## Project Structure
```
focus-space-platform/
frontend/ React + Vite + TypeScript + Tailwind + Framer Motion
backend/ Strapi CMS (initialise separately)
```
---
## Getting Started
### Option A — Docker (recommended)
**Requirements:** Docker Desktop ≥ 4.x
```bash
cd focus-space-platform
docker compose up --build
```
| Service | URL |
|----------|------------------------------|
| Frontend |
localhost |
| Strapi |
localhost |
| Admin |
localhost |
> **First run:** Strapi builds its admin panel on startup — allow 2–3 minutes.
> SQLite data persists in a Docker named volume (`strapi-db`).
Stop everything:
```bash
docker compose down
```
Stop and wipe volumes (reset database):
```bash
docker compose down -v
```
---
### Option B — Run locally (no Docker)
**Frontend:**
```bash
cd frontend
cp .env.example .env
npm install
npm run dev
```
Opens at:
localhost — works with dummy data even without Strapi.
**Backend (Strapi):**
```bash
cd backend
cp .env.example .env
npm install
npm run develop
```
Strapi admin:
localhost
See `backend/STRAPI_SETUP.md` for collection type schemas.
---
### Production (Docker + PostgreSQL)
```bash
docker compose -f docker-compose.prod.yml up --build -d
```
Set these env vars before running (or in a root `.env`):
```
DATABASE_NAME=focusspace
DATABASE_USERNAME=strapi
DATABASE_PASSWORD=changeme
VITE_STRAPI_URL=
api.yourdomain.com
```
---
## Frontend Pages
| Route | Page |
|------------------------|---------------------|
| `/` | Home |
| `/conferences` | All Conferences |
| `/conferences/:slug` | Conference Detail |
| `/past-events` | Past Events |
| `/speakers` …