The AREA project is a project that aims to create a platform that allows users to create and manage their own automation scenarios. The platform is composed of three main parts:
- A backend that manages the user's data and the automation scenarios.
- A web frontend that allows users to create and manage their automation scenarios.
- A mobile frontend that allows users to create and manage their automation scenarios.
Make sure you have the following dependencies installed on your system:
First create a .env fil at the root of the repository:
PROJECT_NAME=area
MODE=development
JWT_SECRET="jwt-secret-key"
API_CONTAINER_PORT=8080
WEB_CONTAINER_PORT=8081
MOBILE_CONTAINER_PORT=8082
API_URL="http://localhost:${API_CONTAINER_PORT}"
FRONTEND_URLS="http://localhost:${WEB_CONTAINER_PORT},http://localhost:${MOBILE_CONTAINER_PORT},http://localhost:${API_CONTAINER_PORT}"
POSTGRES_DB="${PROJECT_NAME}_database"
POSTGRES_USER="${PROJECT_NAME}_postgres-user"
POSTGRES_PASSWORD="${PROJECT_NAME}_postgres-password"
POSTGRES_CONTAINER_PORT=8000
POSTGRES_URL="postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${PROJECT_NAME}_postgresql:${POSTGRES_CONTAINER_PORT}/${POSTGRES_DB}"
GOOGLE_CLIENT_ID=""
GOOGLE_CLIENT_SECRET=""
GOOGLE_CLIENT_CALLBACK_URL=""
GITHUB_CLIENT_ID=""
GITHUB_CLIENT_SECRET=""
GITHUB_CLIENT_CALLBACK_URL=""
DISCORD_CLIENT_ID=""
DISCORD_CLIENT_SECRET=""
DISCORD_CLIENT_CALLBACK_URL=""
DISCORD_BOT_TOKEN=""
SPOTIFY_CLIENT_ID=""
SPOTIFY_CLIENT_SECRET=""
SPOTIFY_CLIENT_CALLBACK_URL=""
GITLAB_CLIENT_ID=""
GITLAB_CLIENT_SECRET=""
GITLAB_CLIENT_CALLBACK_URL=""Build and run docker compose:
docker compose upImportant
While developing you probably going to change dockerfile image, or build instruction, or whatever ...Sometimes your change will not appear, in this case you need to delete old area image/caches and volumes.
First create a .env fil at the root of the repository:
PROJECT_NAME=area
POSTGRES_DB="${PROJECT_NAME}_database"
POSTGRES_USER="${PROJECT_NAME}_postgres-user"
POSTGRES_PASSWORD="${PROJECT_NAME}_postgres-password"
POSTGRES_CONTAINER_PORT=8000
POSTGRES_URL="postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${PROJECT_NAME}_postgresql:${POSTGRES_CONTAINER_PORT}/${POSTGRES_DB}"Change postgres network config in docker-compose.yml (internal become false):
networks:
area_network_postgresql:
name: ${PROJECT_NAME}_network_postgresql
driver: bridge
internal: falseRun postgresSQL container:
docker compose up -d area_service_postgresql ## Run only Postgres DBThen install dependencies and build UI package:
npm i ## Install dependencies
npm run ui:build ## Build UI packageCreate .env files in each project folder:
PROJECT_NAME=area
PORT=8080
JWT_SECRET="jwt-secret-key"
POSTGRES_DB="${PROJECT_NAME}_database"
POSTGRES_USER="${PROJECT_NAME}_postgres-user"
POSTGRES_PASSWORD="${PROJECT_NAME}_postgres-password"
POSTGRES_CONTAINER_PORT=8000
POSTGRES_URL="postgresql://area_postgres-user:area_postgres-password@localhost:8000/area_database"
GOOGLE_CLIENT_ID=""
GOOGLE_CLIENT_SECRET=""
GOOGLE_CLIENT_CALLBACK_URL=""
GITHUB_CLIENT_ID=""
GITHUB_CLIENT_SECRET=""
GITHUB_CLIENT_CALLBACK_URL=""
DISCORD_CLIENT_ID=""
DISCORD_CLIENT_SECRET=""
DISCORD_CLIENT_CALLBACK_URL=""
DISCORD_BOT_TOKEN=""
SPOTIFY_CLIENT_ID=""
SPOTIFY_CLIENT_SECRET=""
SPOTIFY_CLIENT_CALLBACK_URL=""
GITLAB_CLIENT_ID=""
GITLAB_CLIENT_SECRET=""
GITLAB_CLIENT_CALLBACK_URL=""
FRONTEND_URLS="http://localhost:${WEB_CONTAINER_PORT},http://localhost:${MOBILE_CONTAINER_PORT},http://localhost:${API_CONTAINER_PORT}"PORT=8081
API_PORT=8080
API_URL="http://localhost:${API_PORT}"PORT=8082
API_PORT=8080
API_URL="http://localhost:${API_PORT}"Finally, run the project you want:
npm run server:start ## run server
npm run web:start ## run web frontend
npm run mobile:start ## run mobile frontendNote
For more information, see the package.json.
Please review our Security Policy for more information on reporting security vulnerabilities.
Want to contribute? See Contributing guidelines.
This project is licensed under the MIT License - see the License file for details.

