Action-REAction | Create an automation platform
- Application Server - The backend part of the project
- Web Client - The frontend part of the project
- Mobile Client - The mobile part of the project
(Links point to the README of each part)
- Git installed on your machine.
- Docker installed on your machine.
- A
.envfile configured using the documentation within the.env.example
To generate the keys needed within the .env file, you can run the following command from the root of the project:
cd crypto/
./generate_key_pair.shIf your file is not executable, you can run this and try again:
chmod +x generate_key_pair.shgit clone https://github.com/zowks/B-DEV-500-area.git
cd B-DEV-500-areaWhen everything is ready, run the following command
docker compose up --buildThis will start 5 services:
postgres: The database that stores all the data needed for the app to workredis: Used to cache requests to the REST API and JWT tokensserver: Brain of the REST API (Nest.js)client_mobile: Build the mobile Android APK (Expo / React Native) and place it in a volume shared with theclient_webserviceclient_web: Serves the website of the AREA project (SvelteKit)
- Node.js(v20 or higher) & npm(v10.8 or higher) installed on your machine. (You can download it here)
- Git & Docker installed on your machine.
Since the project is using NPM workspaces, all package installations should be done at the root of the project.
To first install all the packages, run the following command (at the root of the project):
npm installTo add a new package to the project, run the following command (always at the root of the project):
npm install <package-name> -w <workspace-name>Where <package-name> is the name of the package you want to install and <workspace-name> is the name of the workspace you want to install the package in.
For example, to install the typescript package in the backend workspace (which is in apps/backend/), you would run:
npm install -D typescript -w apps/backendYou can also install a package from a workspace folder by running the following command:
cd <workspace-folder>
npm install <package-name>To know more about NPM workspaces, you can check the official documentation.