A sample crowdfunding application for coding workshops. Mars Mission Fund is a fictional product that channels collective capital toward missions, technologies, and teams taking humanity to Mars.
The project is designed to teach software engineering practices using production-grade specifications, architecture patterns, and development workflows.
- Product specifications covering vision, brand, engineering standards, architecture, security, and domain workflows (see specs/README.md)
- Application source code for a TypeScript full-stack crowdfunding platform
- Infrastructure configuration for local development via Docker Compose
The specifications are intentionally production-grade. They serve as working documentation and as templates demonstrating how real-world specs should be structured. Each spec includes a "Local demo scope" note identifying what matters for the workshop versus what is theatre.
For the full technology inventory, see specs/tech/tech-stack.md.
git clone https://github.com/LeeCampbell/mars-mission-fund.git
cd mars-mission-fund
./scripts/run-local.shNote: External services (Stripe, Clerk, Veriff, AWS SES) are stubbed or mocked for local development. See
.env.examplefor required environment variables.
The local development seed includes three demo users for workshop use:
| Role | Password | |
|---|---|---|
| Backer | backer@example.com |
backer-demo-pass |
| Creator | creator@example.com |
creator-demo-pass |
| Administrator | admin@example.com |
admin-demo-pass |
To log in: open the app at http://localhost:5173, click Login in the navigation bar, enter one of the email/password pairs above, and observe the role displayed in the nav after sign-in.
These credentials are for workshop and demo use only. The JWT is stored in localStorage and is valid only for the local development session.
packages/client/ React frontend (Vite + Tailwind)
packages/server/ Express API server
packages/shared/ Shared TypeScript types
specs/ Product and technical specifications (start here)
scripts/ Development and CI utility scripts
autonomous/ Autonomous agent system (Dockerfile, prompts)
The specs/ directory contains a layered specification system:
Read specs/README.md before implementing any feature. It includes the full dependency graph, agent protocol, and cross-cutting concern index.
- Unit test coverage: 80%+ required
- Integration tests must pass
- E2E tests must pass
- ESLint and Prettier enforced
- Markdown linting via markdownlint-cli2
- Do not commit directly to
main-- use feature branches - Branch naming:
feat/,fix/,chore/prefixes - Push feature branches and open PRs against
main
This project is for educational purposes as part of a coding workshop.