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 init
git 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 + B
orCmd + shift + B
within 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