Welcome to the OctoCAT Supply Website - an example website 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
-
Make
-
Clone this repository
-
From VS Code, open a new Git bash shell and install dependencies:
make install
-
Start the development environment:
make dev
This will start both the API server (on port 3000) and the frontend development server (on port 5173).
View 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 onlyThis project is designed to showcase GitHub Copilot's capabilities. As such, it includes a series of challenges for you to try out:
| Title | Details | Copilot Features |
|---|---|---|
| Challenge 1 | Use Copilot to build a new feature and improve test coverage | Plan mode, Agent mode, Vision, Prompt Files |
| Challenge 2 | Enforce team standards and delegate tasks to the custom Agent | Custom Instructions, Custom Agent |
