An open API service indexing awesome lists of open source software.

https://github.com/mlargeot/area

ACTION-REACTION CREATE AN AUTOMATION PLATFORM
https://github.com/mlargeot/area

backend database frontend mongodb nestjs react-native rest-api

Last synced: about 1 year ago
JSON representation

ACTION-REACTION CREATE AN AUTOMATION PLATFORM

Awesome Lists containing this project

README

          


logo

# Build & Run the Project

## Prerequisites

The only prerequisites for running this project are `Docker` and `ngrok`. Please ensure both Docker and ngrok are installed on your system.

### Docker Installation on Linux

You can install Docker using the following command:

```bash
sudo apt update
sudo apt install docker docker-compose
```

### Docker Installation on Windows

1. **Download Docker Desktop**:
Go to the [official Docker website](https://www.docker.com/products/docker-desktop) and download Docker Desktop for Windows.

2. **Install Docker Desktop**:
Follow the installation instructions and ensure Docker Desktop is configured to use WSL 2 (if applicable). You may need to enable virtualization in your system's BIOS if it isn't already enabled.

3. **Start Docker Desktop**:
After installation, launch Docker Desktop. Ensure it is running by checking its status in the taskbar.

4. **Verify Installation**:
Open a command prompt or PowerShell and run:

```powershell
docker --version
docker-compose --version
```

This will confirm that Docker and Docker Compose are correctly installed.

### Using Curl (Alternative)

If you prefer using `curl`, you can install Docker with this command (Linux):

```bash
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
```

### Ngrok Installation

To install **ngrok** on your system, follow the official documentation corresponding to your operating system:

- **Linux**: Refer to the [official Linux installation guide](https://download.ngrok.com/linux) for step-by-step instructions.
- **Windows**: Follow the [official Windows installation guide](https://download.ngrok.com/windows?tab=download) to download and set up ngrok.

For additional installation methods or troubleshooting, visit the [ngrok installation documentation](https://download.ngrok.com/).

Then follow the `ngrok` configuration:
```bash
ngrok config add-authtoken
```

## Run the Project

### Setup Ngrok

After installing the prerequisites, configure ngrok to expose `localhost:8080` to the internet.

```bash
ngrok http 8080
```

Copy the generated link and add it to the .env file located in the `backend/` directory using the following format:

```bash
WEBHOOK_ENDPOINT=$ENDPOINT
#(e.g : WEBHOOK_ENDPOINT=https://644a-163-5-2-51.ngrok-free.app/)
```

Once ngrok is configured, you can proceed to build and run the project using the following commands.

### Linux / macOS

```bash
# Build and run the project
sudo docker-compose up --build

# Build and run the project in the background
sudo docker-compose up --build -d
```

### Windows (Command Prompt or PowerShell)

For Windows, `sudo` is not required. Use the following commands:

```powershell
# Build and run the project
docker-compose up --build

# Build and run the project in the background
docker-compose up --build -d
```

## Stop and Remove the Project

To stop and remove the project, use the following command:

### Linux / macOS

```bash
sudo docker-compose down -v
```

### Windows (Command Prompt or PowerShell)

```powershell
docker-compose down -v
```

## Documentation
### API Documentation

For more details about the API, feel free to check out the [AR3M API documentation](./docs/README_API.md). If you cloned the repository, you can view this documentation locally by running the following command:

```bash
cat ./docs/README_API.md
```

### Global Documentation

The complete documentation for the project is available on the [project wiki](https://github.com/mlargeot/Area/wiki).

## Cheat Warning

This repository is public for several reasons. As it is part of a third-year school project at EPITECH, please refrain from using it for your own EPITECH projects to avoid being flagged for cheating (-42). We are not responsible for any misuse of our repository.

## Authors





mlargeot

mlargeot




MaxenceLgt

MaxenceLgt




DiaboloAB

DiaboloAB




Raphael-Mabille

Raphael-Mabille




MrMarmotte

MrMarmotte