Welcome to the OctoCAT Supply Website - your go-to demo for showcasing the incredible capabilities of GitHub Copilot, and the power of AI-assisted development!
The application is built using modern TypeScript with a clean separation of concerns:
erDiagram
Headquarters ||--o{ Branch: has
Branch ||--o{ Order: placed_at
Order ||--o{ OrderDetail: contains
OrderDetail ||--o{ OrderDetailDelivery: fulfilled_by
OrderDetail }|--|| Product: references
Delivery ||--o{ OrderDetailDelivery: includes
Supplier ||--o{ Delivery: provides
-
Frontend: React 18+, TypeScript, Tailwind CSS, Vite
-
Backend: Express.js, TypeScript, SQLite, OpenAPI/Swagger
-
Data: SQLite (file db at
api/data/app.db; in-memory for tests) -
DevOps: Docker
- Node.js 18+ and npm
-
Clone this repository
-
Install dependencies: Open a terminal in the project root and run:
npm run install:all -
Start the development environment:
npm run dev
This will start both the API server (on port 3000) and the frontend development server (on port 5137).
If you have make installed, you can also use the following commands in a bash terminal:
make install
make devView all available commands:
make helpKey commands:
make dev- Start both API and frontend development serversmake dev-api- Start only the API servermake dev-frontend- Start only the frontend servermake build- Build both API and frontend for productionmake db-init- Initialize database schemamake db-seed- Seed database with sample datamake test- Run all testsmake clean- Clean build artifacts and dependencies
Initialize the database explicitly (migrations + seed):
make db-initSeed data only:
make db-seedOr use npm scripts directly in the API directory:
cd api && npm run db:migrate # Run migrations only
cd api && npm run db:seed # Seed data onlyDatabase defaults and env vars:
- DB file:
api/data/app.db(override withDB_FILE=/absolute/path/to/file.db) - Enable WAL:
DB_ENABLE_WAL=true(default) - Foreign keys:
DB_FOREIGN_KEYS=true(default)
This entire project, including the hero image, was created using AI and GitHub Copilot! Even this README was generated by Copilot using the project documentation. 🤖✨
