mirror of
https://github.com/sasjs/server.git
synced 2025-12-10 19:34:34 +00:00
116 lines
3.1 KiB
Markdown
116 lines
3.1 KiB
Markdown
# CONTRIBUTING
|
|
|
|
Contributions are very welcome! Feel free to raise an issue or start a discussion, for help in getting started.
|
|
|
|
|
|
## Configuration
|
|
|
|
Configuration is made in the `configuration` section of `package.json`:
|
|
|
|
- Provide path to SAS9 executable.
|
|
|
|
|
|
### Using dockers:
|
|
|
|
There is `.env.example` file present at root of the project. [for Production]
|
|
|
|
There is `.env.example` file present at `./api` of the project. [for Development]
|
|
|
|
There is `.env.example` file present at `./web` of the project. [for Development]
|
|
|
|
Remember to provide enviornment variables.
|
|
|
|
#### Development
|
|
|
|
Command to run docker for development:
|
|
|
|
```
|
|
docker-compose up -d
|
|
```
|
|
|
|
It uses default docker compose file i.e. `docker-compose.yml` present at root.
|
|
It will build following images if running first time:
|
|
|
|
- `sasjs_server_api` - image for sasjs api server app based on _ExpressJS_
|
|
- `sasjs_server_web` - image for sasjs web component app based on _ReactJS_
|
|
- `mongodb` - image for mongo database
|
|
- `mongo-seed-users` - will be populating user data specified in _./mongo-seed/users/user.json_
|
|
- `mongo-seed-clients` - will be populating client data specified in _./mongo-seed/clients/client.json_
|
|
|
|
|
|
#### Production
|
|
|
|
Command to run docker for production:
|
|
|
|
```
|
|
docker-compose -f docker-compose.prod.yml up -d
|
|
```
|
|
|
|
It uses specified docker compose file i.e. `docker-compose.prod.yml` present at root.
|
|
It will build following images if running first time:
|
|
|
|
- `sasjs_server_prod` - image for sasjs server app containing api and web component's build served at route `/`
|
|
- `mongodb` - image for mongo database
|
|
- `mongo-seed-users` - will be populating user data specified in _./mongo-seed/users/user.json_
|
|
- `mongo-seed-clients` - will be populating client data specified in _./mongo-seed/clients/client.json_
|
|
|
|
### Using node:
|
|
|
|
#### Development (running api and web seperately):
|
|
|
|
##### API
|
|
|
|
Navigate to `./api`
|
|
There is `.env.example` file present at `./api` directory. Remember to provide enviornment variables else default values will be used mentioned in `.env.example` files
|
|
Command to install and run api server.
|
|
|
|
```
|
|
npm install
|
|
npm start
|
|
```
|
|
|
|
##### Web
|
|
|
|
Navigate to `./web`
|
|
There is `.env.example` file present at `./web` directory. Remember to provide enviornment variables else default values will be used mentioned in `.env.example` files
|
|
Command to install and run api server.
|
|
|
|
```
|
|
npm install
|
|
npm start
|
|
```
|
|
|
|
#### Development (running only api server and have web build served):
|
|
|
|
##### API server also serving Web build files
|
|
|
|
There is `.env.example` file present at `./api` directory. Remember to provide enviornment variables else default values will be used mentioned in `.env.example` files
|
|
Command to install and run api server.
|
|
|
|
```
|
|
cd ./web && npm i && npm build && cd ../
|
|
cd ./api && npm i && npm start
|
|
```
|
|
|
|
#### Production
|
|
|
|
##### API & WEB
|
|
|
|
```
|
|
npm run server
|
|
```
|
|
|
|
This will install/build `web` and install `api`, then start prod server.
|
|
|
|
|
|
## Executables
|
|
|
|
Command to generate executables
|
|
|
|
```
|
|
cd ./web && npm i && npm build && cd ../
|
|
cd ./api && npm i && npm run exe
|
|
```
|
|
|
|
This will install/build web app and install/create executables of sasjs server at root `./executables`
|