A highly opinionated full-stack starter: TypeScript, Node.JS, Express, CQRS + Event Sourcing, React, and Redux
- Clone the repository to your new project folder:
git clone git@github.com:seikho/fullstack-starter my-project
- Remove the Git history
cd my-project && rm -rf .git
- Re-initialise the project
git initgit remote add git@github.com:your-username/my-project
- Install the project dependencies
yarn
- Start the databases
yarn db
- Start the backend + frontend
- With the TypeScript compiler watching:
yarn start:watch - Without the TypeScript compiler:
yarn start- Use
Ctrl + Shift + BorCmd + shift + Bwithin VSCode to build in watch mode
- Use
- Get started!
/src: Back-end codebase/api: Express routers for top-level routes/db: Database helpers and migrations/domain: Each aggregate (/domain/agg), commands (/domain/cmd), and associated tests/ws: Websocket helpers/manager: Process managers/populator:Read model populators
/web: Front-end codebase/page: High-level pages/comp: Re-usabable components/layout: Components and styles for the layout/store: Redux store, reducers, and sagas/style: Global styles
- React with zustand state management
- Express
- CQRS and Event Sourcing using evtstore
- Parcel.js for front-end bundling
- MongoDB
The project includes some helpers with Visual Studio Code and the command line
CTRL/CMD+SHIFT+B: Builds the back-end in watch modeF5: Launch the backend with the debugger and starts the frontend
yarn up: Start the databasesyarn web:serve: Starts the front-end in watch modeyarn srv:build: Cleans and builds the backendyarn srv:start: Starts the back-endyarn clear: Deletes the previous build