Fulcrum is an AI-first commerce hub designed to streamline the entire product lifecycle, from inventory and supplier management to multi-channel sales and business analytics.
All technical documentation for the project, including architecture, setup guides, and contribution workflows, is located in our Sphinx Documentation Hub.
This is the central source of truth for developers.
- Docker
- Docker Compose
-
Clone the repository:
git clone https://github.com/nickvander/fulcrum.git cd fulcrum -
Set up environment variables:
cp backend/.env.example backend/.env
-
Build and start all services:
docker compose up --build
-
Database migrations: Migrations are applied automatically on container start — the backend's
entrypoint.shrunsalembic upgrade headbefore launching uvicorn, so a fresh stack comes up fully migrated with no manual step. If you ever need to re-run them (e.g. troubleshooting), open a new terminal and run:docker compose exec backend alembic upgrade head
The backend API will be available at http://localhost:8200.
-
Navigate to the frontend directory:
cd frontend -
Install dependencies:
npm install
Start the development server:
```bash
npm start
```
The frontend application will be available at http://localhost:4200.
Fulcrum supports building with Bazel as an alternative build system for improved build performance and reproducibility.
- Bazelisk (recommended) or Bazel 8.4.2+
- pnpm (for frontend dependencies)
# Build backend
bazel build //backend/src:main
bazel build //backend/src:celery_worker
# Build frontend
bazel build //frontend:build
# Run backend tests
bazel test //backend/tests:test_fast_dummy
# Build Docker images
bazel run //backend/image:backend_tarball # Loads fulcrum/backend:latest
bazel run //frontend/image:frontend_tarball # Loads fulcrum/frontend:latest
# Check dependency graph
bazel mod graphNote: Bazel runs alongside Docker Compose. You can use either build system based on your needs. See docs/guides/using-bazel.md for comprehensive documentation including Docker integration.
For detailed setup instructions, please see the Getting Started guide.