Skip to content

Commit

Permalink
Docs restructure (#846)
Browse files Browse the repository at this point in the history
* add toc

* add summary.md

* Remove summary, add SettingUp

* Add core concepts sceleton to the introduction

* move core concepts up, reformat

* rename toc to readme

* add links to files and headers

* add more links

* add core concepts

* Create documentation hierarchy

* apply file naming convention

* prepare for gitbook

* Rename Troubleshooting.md to troubleshooting.md

* Rename Introduction.md to introduction.md

* Rename FAQ.md to faq.md

* Rename Frontend.md to frontend.md

* fix links

* Rename docs/Basics/README.md to docs/basics/README.md

* Rename docs/Basics/frontend.md to docs/basics/frontend.md

* Add sections to resolve app structure

* add auth topic

* fix summary

* fix typo

* Add authorization topic

* add more auth docs

* docs - Add content to the reSolve App Structure document

* add user registry docs

* add JWT user encoding docs

* add embedmd imported section

* add aggregate snippet

* add toc

* add summary.md

* Remove summary, add SettingUp

* Add core concepts sceleton to the introduction

* move core concepts up, reformat

* rename toc to readme

* add links to files and headers

* add more links

* add core concepts

* Create documentation hierarchy

* apply file naming convention

* prepare for gitbook

* Rename Troubleshooting.md to troubleshooting.md

* Rename Introduction.md to introduction.md

* Rename FAQ.md to faq.md

* Rename Frontend.md to frontend.md

* fix links

* Rename docs/Basics/README.md to docs/basics/README.md

* Add sections to resolve app structure

* add auth topic

* fix summary

* fix typo

* Add authorization topic

* add more auth docs

* docs - Add content to the reSolve App Structure document

* add user registry docs

* add JWT user encoding docs

* add embedmd imported section

* add aggregate snippet

* docs - add content to the Read Side and Write Side documents

* docs - add content to the Read Side and Write Side docs

* Delete read-side.md.orig

* Delete write-side.md.orig

* docs - update the Write Side document

* Update write-side.md

* fix bug in snippet

* remove strange files

* Fix a typo

* add a sample curl-based tutorial

* Add TODO comments to app structure

* Fix a typo

* edit aggregates text, add some TODO

* add comman http api doc stub

* fix typo

* add TODO comments to the read side docs

* add embedmd link to read-side

* fix code snippet in the api reference

* Update write-side.md

* Update write-side.md

* Add content to the Frontent document

* Update the Fromtend - Optimistic Commands section

* Frontent - Optimistic commands - add code samples

* Write-side - Event Store - move custom store description to advanced concepts

* Add some TODOs and read model store docs

* Write Side - Read Models - revise the definitions

* Read Side - Mention View Models as a special kind of Read Models

* Read-side - updat the View Model description

* Read-side update the View Model specifics section

* Frontend - minor fixes

* App Structure - remove the event store section

* Update the curl example descriptions

* Update the App Structure  document

* App Structure - Folder Structure - add the api-handlers folder

* Advanced Techniques - add basic explanation for sagas

* api reference - minor grammar fix

* Advanced Techniques - fix a typo

* Add aggregateID section, enable prettier for md

* fix invalid json in the sample

* fix cuid

* add vscode snippet for embedmd

* Advanced techniques - added a general explanation for adapters + removed subsections

* fix typo

* Grammar

* add comments in advanced docs

* Update advanced-techniques.md

* Update SSR topic

* Update advanced-techniques.md

* Update advanced-techniques.md

* Advanced-techniques - revise the server-side rendering section

* Authentication and Authorization - add content to the Setting up Authentication section

* Update the Making Your Own User Registry
section text

* Update the Splitting Code Into Chunks section

* fix grammar

* Update the Using JWT section

* Minor cosmetic changes

* Remove old TODOs

* minor fixes

* Read-side - add note abount denormalizing read models

* App Structure - Fix typos and wording

* Write Side - Fix grammar and wording

* Read-Side minor fixes

* Synchronize TOC with content

* Fix a typo

* Advanced Techniques - revise wording

* Remove old TODOs

* Add a few ords on 3rd-party auth services

* Fix TOC

* Frontent - grammar

* Authentication - minor grammar fixes

* Update write-side.md

* Write-side - minor fixes

* doc: read-model simplest case todo

* Preparing to production - add content

* Preparing to production - add note

* Advanced Techniques - grammar

* Frontend - describe the basic case

* Punctuation

* Update TOC

* Frontend - fix example markup

* Grammar

* change reSolve description to list of points

* try gh emoji

* change emojis to textual

* fix typo

* rewrite get in touch section

* App Structure - fix the Read/Write-sides explanation

* fix examples running docs

* fix docs readme section

* try details section

* fix footer
  • Loading branch information
superroma authored Nov 6, 2018
1 parent 3e8d806 commit 6dcc157
Show file tree
Hide file tree
Showing 32 changed files with 1,646 additions and 816 deletions.
6 changes: 3 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,13 @@ jspm_packages
# Optional REPL history
.node_repl_history

# IDE directory
.idea
.vscode
#gitbook build folder
**/_book

event-storage.db
#
dist
lib
es


31 changes: 31 additions & 0 deletions .vscode/doc.code-snippets
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
// Place your global snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and
// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope
// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is
// used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders.
// Placeholders with the same ids are connected.
// Example:
// "Print to console": {
// "scope": "javascript,typescript",
// "prefix": "log",
// "body": [
// "console.log('$1');",
// "$2"
// ],
// "description": "Log output to console"
// }
"embedmd": {
"prefix": "embed",
"scope": "markdown",
"body": [
"<!-- prettier-ignore-start -->",
"[embedmd]:# (${1:relative_path} ${2:regex_start} ${3:regex_end})",
"```",
"{}",
"```",
"<!-- prettier-ignore-end -->"
],
"description": "Embed code snippet from another file"
}
}
10 changes: 10 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"spellright.language": [
"English (American)"
],
"spellright.documentTypes": [
"markdown",
"latex",
"plaintext"
]
}
121 changes: 43 additions & 78 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,115 +1,80 @@

# [<img src="https://user-images.githubusercontent.com/15689049/29659048-ad0d158a-88c5-11e7-9354-dbe4bb105ad7.png" height="60">](https://github.com/reimagined/resolve/)

[![Build Status](https://travis-ci.org/reimagined/resolve.svg?branch=master)](https://travis-ci.org/reimagined/resolve) [![npm version](https://badge.fury.io/js/create-resolve-app.svg)](https://badge.fury.io/js/create-resolve-app) [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/reimagined/resolve/master/LICENSE)

A JavaScript framework for **CQRS**, **Domain-Driven Design** and **Event Sourcing** with robust support for **React** and **Redux**. **reSolve** provides a new way to describe an app's core logic and fully separate it from auxiliary code.
![CQRS DDD Event Sourcing React Redux](https://user-images.githubusercontent.com/19663260/41475089-73b9620e-70c6-11e8-9ca9-633f3857626b.png)

<p align="center"><img src="https://user-images.githubusercontent.com/19663260/41475089-73b9620e-70c6-11e8-9ca9-633f3857626b.png"></p>
reSolve is a full stack functional JavaScript framework.

* 2 minutes [installation](#installation).
* [Free and open source](https://github.com/reimagined/resolve/blob/master/LICENSE.md).
* Flexible and clear [API](#documentation).
- [CQRS](https://martinfowler.com/bliki/CQRS.html) - independent Command and Query sides.
- [DDD Aggregate](https://martinfowler.com/bliki/DDD_Aggregate.html) support.
- [Event sourcing](https://martinfowler.com/eaaDev/EventSourcing.html) - using events as a source of truth and calculates read models from them.
- Integrates with [React](https://reactjs.org) and [Redux](https://redux.js.org) for seamless development experience.
- [React Native](https://facebook.github.io/react-native/) support.

## **📑 Table of Contents**
* **[🚀 Getting Started](#getting-started)**
* **[📚 Documentation](#documentation)**
* **[📢 Get in Touch](#get-in-touch)**
## :rocket: Getting Started

## <a name="getting-started">**🚀 Getting Started**</a>
### Installation

### <a name="installation">Installation</a>
Make sure you have **NodeJS** version **8.10.0** or greater.

The [create-resolve-app](packages/core/create-resolve-app) package is used to create a **reSolve**-based application. You can use it to get one of the examples, or create an empty application. By default, `create-resolve-app` generates an empty [Hello World](https://github.com/reimagined/resolve/tree/master/examples/hello-world) application. You can start working on your new **reSolve** application in just **2 minutes** using [npx](https://www.npmjs.com/package/npx/v/1.1.1)!
Use [create-resolve-app](packages/core/create-resolve-app) package to create a new reSolve application. The easiest way is to use [npx](https://www.npmjs.com/package/npx/v/1.1.1) ()

```sh
npx create-resolve-app my-awesome-app
cd my-awesome-app
npm run dev
```

The created application is accessible using the http://localhost:3000/ and `http://<your_ip>:3000/` URLs (you can [change the URL settings](https://github.com/reimagined/resolve/blob/master/docs/API%20References.md)). Start learning **reSolve** with the [**ToDo List App Tutorial**](https://github.com/reimagined/resolve/blob/master/docs/Tutorials/ToDo%20List%20App%20Tutorial.md) tutorial. Use the [**documentation**](#documentation), [**tutorials**](#tutorials) and [**examples**](#examples) to learn **reSolve** more deeply.

Instead of npx you can also use npm or yarn tools:

* [npm](https://www.npmjs.com/)

> Note: Installing a package globally may require administrative privileges. That means you have to use the `sudo` prefix on Linux and MacOS, or start a terminal with the administrative privileges on Windows.
```sh
npm i -g create-resolve-app
create-resolve-app my-awesome-app
cd my-awesome-app
npm run dev
```

* [yarn](https://yarnpkg.com/lang/en/)
<details>
<summary>You can also use npm or yarn tools</summary>

```sh
yarn create resolve-app my-awesome-app
cd my-awesome-app
yarn run dev
```
#### [npm](https://www.npmjs.com/)

### <a name="examples">Examples</a>

You can get a sample app using the `create-resolve-app` tool with the `-e` flag followed by an example name. Use the `create-resolve-app -h` command to list the available [examples](https://github.com/reimagined/resolve/tree/master/examples).

The following tools are used to get a sample **reSolve** application:
> Note: Installing a package globally may require administrative privileges. That means you have to use the `sudo` prefix on Linux and MacOS, or start a terminal with the administrative privileges on Windows.
```sh
npx create-resolve-app nested-list-example -e nested-list
npm i -g create-resolve-app
create-resolve-app my-awesome-app
cd my-awesome-app
npm run dev
```

The created application is accessible using the http://localhost:3000/ and `http://<your_ip>:3000` URLs (you can [change your URL settings](https://github.com/reimagined/resolve/blob/master/docs/API%20References.md)).

Instead of npx you can also use npm or yarn tools:

* [yarn](https://yarnpkg.com/lang/en/)
#### [yarn](https://yarnpkg.com/lang/en/)

```sh
yarn create resolve-app nested-list-example -e nested-list
```

* [npm](https://www.npmjs.com/)

```sh
npm i -g create-resolve-app
create-resolve-app nested-list-example -e nested-list
```

## <a name="documentation">**📚 Documentation**</a>

You can develop and run **reSolve** applications on **Linux**, **Mac** and **Windows** operating systems. It is also possible to integrate **reSolve** with the **React Native**, but this approach is currently experimental.

The minimum supported **NodeJS** version is **8.10.0**.

**reSolve** supports [**npx**](https://www.npmjs.com/package/npx), [**yarn**](https://yarnpkg.com/lang/en/), and [**npm**](https://www.npmjs.com/).
```sh
yarn create resolve-app my-awesome-app
cd my-awesome-app
yarn run dev
```

Learn more in [documentation topics](https://github.com/reimagined/resolve/tree/master/docs).
</details>
<p></p>

## <a name="get-in-touch">**📢 Get in Touch**</a>
Your application is running at http://localhost:3000/.

Feel free to contact us if you have any questions!
### Creating a new app with an example code

✉️ We are glad to see your e-mails sent to **[email protected]**.
You can create a new application with an example code using `create-resolve-app` with the `-e` flag followed by an example name. Use the `create-resolve-app -h` command to list the available [examples](./examples/).

💬 Follow us on [**Twitter**](https://twitter.com/resolvejs). We post interesting arcticles, announcements, post polls about **reSolve** development and talk about the modern web technologies!
For instance, to run a [shopping-list](./examples/shopping-list) example, run:

💻 We also have a [**Facebook**](https://www.facebook.com/resolvejs/) page, join us!
```sh
npx create-resolve-app resolve-example -e shopping-list
```

📃 You can find our articles on [**Medium**](https://medium.com/resolvejs)
## :books: Documentation

You are welcome to post any questions or suggestions in [**GitHub Issues**](https://github.com/reimagined/resolve/issues)
You can find reSolve documentation in the [docs section](./docs).

🔧 Feel yourself capable of improving **reSolve**? Become one of our [**contributors**](https://github.com/reimagined/resolve/pulls)! Look through our [**Contrubutors Guide**](https://github.com/reimagined/resolve/blob/master/docs/Contributors%20Guide.md) and make a great Pull Request.
## :loudspeaker: Get in Touch

⭐️ Remember to star our **GitHub** repository if you like **reSolve**!
- Ask questions at Stackoverlow with [resolvejs tag](https://stackoverflow.com/tags/resolvejs)
- Submit bugs and issues to [GitHub Issues](https://github.com/reimagined/resolve/issues)
- Email team [email protected]
- Follow us on Twitter [@resolvejs](https://twitter.com/resolvejs)
- Facebook page [resolvejs](https://www.facebook.com/resolvejs/)

<br/>
<br/>
<p align="center">reSolve is developed by</p>
<p align="center"><a href="https://devexpress.com">Developer Express Inc.</a></p>
<p align="center"><img src="https://user-images.githubusercontent.com/19663260/38686793-dd31fb22-3e7d-11e8-8f26-33606ad82a16.png"></p>
reSolve is developed by [Developer Express Inc.](https://devexpress.com)

![Analytics](https://ga-beacon.appspot.com/UA-118635726-1/index-readme?pixel)
102 changes: 0 additions & 102 deletions docs/API References.md

This file was deleted.

Loading

0 comments on commit 6dcc157

Please sign in to comment.