| id | introduction |
|---|---|
| title | Introduction |
You need to have Node >=8 on you development machine and on the server. You can use nvm (macOS/Linux) or nvm-windows to switch Node versions between different projects.
Make sure you have Node, NPM, and NPX installed:
$ node --version
v10.5.0
$ npx --version
6.1.0npx create-resolve-app my-awesome-app
cd my-awesome-app
npm run devYour app is running at http://localhost:3000
Domain aggregate is a business model unit. Business logic is mostly in command handlers for the aggregate.
Don't store system state, store events that brought system to this state.
System is divided in two "sides":
- Write Side accepts commands and generate events that stored in the Event Store.
- Read Side applies events to Read Models, and process queries.
Write side is optimized for writing, read side - for reading.
The reSolved repository contains example projects. You can use them to study various use-case scenarios or as templates for new reSolve applications. The example projects are available in the repository's examples folder.
The following example projects are available:
| Example Name | Description |
|---|---|
| hello-world | A blank app used as a default template for new reSolve applications |
| hello-world-typescript | A blank app used as a default template for new reSolve applications with TypeScript support |
| with-postcss | Demonstrates how to work with postCSS |
| with-styled-components | Demonstrates how to work with Styled Components |
| shopping-list | Demonstrates how to work with Read Models and View Models |
| shopping-list-advanced | Demonstrates how to use reSolve with React Native |
| hacker-news | A clone of the HackerNews application implemented using reSolve |
You can install any of these examples on your machine using the create-resolve-app tool with the -e flag followed by an example name.
npm install -g create-resolve-app
create-resolve-app resolve-example -e <example name>npx create-resolve-app resolve-example -e <example name>yarn create resolve-app resolve-example -e <example name>