Skip to content

leecampbell-codeagent/mars-mission-fund

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

142 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mars Mission Fund

Mars Mission Fund coin logo

Mars Mission Fund

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.

TypeScript React Node.js PostgreSQL Docker


What This Repo Contains

  • 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.


Tech Stack

Layer Technology
Lang TypeScript (frontend and backend)
Runtime Node.js 22.x LTS
Frontend React 19.x
Backend Express 5.x
Database PostgreSQL 16.11 (Aurora in production, Docker locally)
Arch Hexagonal (Ports and Adapters), CQRS / Event Sourcing
Testing Vitest, Playwright, Testing Library, SuperTest
Auth Clerk
Payments Stripe (stubbed locally)

For the full technology inventory, see specs/tech/tech-stack.md.


Prerequisites


Getting Started

git clone https://github.com/LeeCampbell/mars-mission-fund.git
cd mars-mission-fund
./scripts/run-local.sh

Note: External services (Stripe, Clerk, Veriff, AWS SES) are stubbed or mocked for local development. See .env.example for required environment variables.


Demo accounts

The local development seed includes three demo users for workshop use:

Role Email 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.


Project Structure

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)

Specifications

The specs/ directory contains a layered specification system:

Layer Scope Specs
L1 Product vision and mission 1 spec
L2 Brand and engineering standards 2 specs
L3 Architecture, security, frontend, data, audit, tech stack 8 specs
L4 Account, campaign, donor, payments, KYC workflows 5 specs

Read specs/README.md before implementing any feature. It includes the full dependency graph, agent protocol, and cross-cutting concern index.


Quality Gates

  • Unit test coverage: 80%+ required
  • Integration tests must pass
  • E2E tests must pass
  • ESLint and Prettier enforced
  • Markdown linting via markdownlint-cli2

Contributing

  • Do not commit directly to main -- use feature branches
  • Branch naming: feat/, fix/, chore/ prefixes
  • Push feature branches and open PRs against main

Licence

This project is for educational purposes as part of a coding workshop.


Mars Mission Fund

About

A sample repo for coding workshops. A fake product for crowd funding projects that help get us to Mars

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 74.2%
  • HTML 11.1%
  • Shell 8.3%
  • JavaScript 3.2%
  • CSS 2.8%
  • Dockerfile 0.4%