Getting started

Bauhaus is a single page application built with React and Redux. It was bootstraped with Create React App and designed thanks to Bootstrap. To run the application in development mode, run the following commands from a shell prompt in the local directory, and then navigate to http://localhost:3000:

# Download all the dependencies needed by the application
yarn install
# Compiles the code and starts a minimal web server
yarn start
`
We discovered an error when using the command `yarn start` with a path containing accentuated characters. If this is also the case for you, you can also usr the command `npm start` instead of `yarn start`.

Application needs externals Web services : Bauhaus-Back-Office(https://github.com/InseeFr/Bauhaus-Back-Office).

## Test

`yarn test` runs the test watcher in an interactive mode. By default, runs tests related to files changed since the last commit.
An other script, `yarn test:coverage` allows to generate a complete local report `Bauhaus/coverage/lcov-report/index.html`.

Some Integrations tests are also available thanks to _Cypress.io_. You should use the `yarn cypress:open` command if you want to launch these tests on dev mode. For your CI, you have to use the `yarn cypress:run` command.

Unit tests are launched each time a `git push` is executed.

## Build

To build the application, run `yarn build`. You can now serve the content of the `dist` folder with the HTTP server of your choice.

### Docker

You can also build a Docker container :

```shell
docker build . -t bauhaus-front

And run it :

docker run  -it -p 8083:80 -e BAUHAUS_API_URL=http://192.168.1.12:8081/api bauhaus-front

http://192.168.1.12:8081/api is the base URL of the Bauhaus API.

New to JavaScript and Node.js

If you're new to JavaScript, you might need to first install node and yarn on your computer.

yarn is the Node.js package manager. yarn install will download all the dependencies needed by the project, as described in the dependencies and devDepedencies sections of the package.json file.

yarn start will launch the dev command defined in the scripts section of the same package.json file. This command will launch a local web server serving the main HTML file (src/js/index.html) and all the relevant assets.

yarn build will launch the compilation with some optimizations for production. It copies all the static assets and the resulting bundle file in the dist folder.

Project Structure

In this paragraph, we will try to explain the rules we defined and try to follow when talking about the structure of the project.

SCSS Mixin

If you have to define SCSS mixin, you have to define them in the src/styles/mixin.scss file, and import them in the stylesheet of the React component.

I18N

In order to avoid big i18n file, we try to split this file in smaller files, based on page or feature. For example, we have a src/js/i18n/dictionary/operations/documents.js file for all messages dedicated to the documents feature. This files have to be imported directly or not in the main file js/i18n/dictionary/app.js.



results matching ""

    No results matching ""