Welcome to the OctoCAT Supply Website - your go-to demo for showcasing the incredible capabilities of GitHub Copilot, GHAS, and the power of AI-assisted development!
Note
For a walkthrough of all demos, check out the Demo Walkthroughs.
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
-
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 onlyYou can also use VS Code tasks and launch configurations:
Cmd/Ctrl + Shift + P->Run Task->Build All- Use the Debug panel to run
Start API & Frontend
To showcase extended capabilities:
- Install Docker/Podman for the GitHub MCP server
- Use VS Code command palette:
MCP: List servers->playwright->Start serverMCP: List servers->github->Start server
- Configure with a GitHub PAT (required for GitHub MCP server)
- Detailed Architecture
- SQLite Integration
- Complete Demo Script
- Build and Test Guide
- Deployment Guide - Includes JFrog Artifactory integration
Database 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)
The application supports optional JFrog Artifactory integration for enhanced supply chain security and SLSA Level 3 compliance. This demonstrates:
- Code-to-Cloud Traceability: Complete visibility from commit to deployment
- SLSA Build Level 3: Provenance attestations meeting SLSA standards
- Centralized Artifact Management: Unified repository for all container images
- Enhanced Security Scanning: Integration with JFrog Xray for vulnerability detection
Quick Start:
- Configure GitHub secrets:
JFROG_URL,JFROG_USER,JFROG_PASSWORD - Enable via repository variable
ENABLE_JFROG=trueor workflow dispatch - See deployment.md for detailed setup
Reference: GitHub's supply chain security features
- Practice the demos before customer presentations
- Remember Copilot is non-deterministic - be ready to adapt
- Mix and match demo scenarios based on your audience
- Keep your GitHub PAT handy for MCP demos
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. 🤖✨
