Skip to content

Studio-17/Area

Repository files navigation

Reaccoon (Area) Reaccoon Logo

$\color{green}{Grade: A}$

Reaccoon is an IFTTT-like Epitech project. The goal of this project is to allow you to automatically execute some reactions according to defined actions.

You'll create an account and start connect you account to several services.

For example :

  • IF I receive an email on my GMail address
  • THEN, I launch the ZeratoR stream on TwitchTV

⚙️ Environment Variables ⚙️

To run this project, you firstly need to edit your configuration environment file.

At the root of the repository, you can find a .env.example file containing those values :

# Available values : development, production
NODE_ENV=development

APP_HOST=localhost
APP_ENDPOINT=/api/reaccoon
API_PORT=8080
WEB_PORT=8081

#---------- BACKEND ----------#
# Database connection
POSTGRES_HOST=postgres
POSTGRES_PORT=5432
POSTGRES_USER=
POSTGRES_PASSWORD=
POSTGRES_DB=

# JWT authentication private key
JWT_SECRET=

# SMTP services, put your email credentials here
GOOGLE_MAIL_ID=
GOOGLE_MAIL_PASSWORD=

# Google services
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=

# Github service
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=

#---------- FRONTEND ----------#
# Expo configuration
EXPO_DEVTOOLS_LISTEN_ADDRESS=0.0.0.0
# Available value : Public IP address of your computer
REACT_NATIVE_PACKAGER_HOSTNAME=

You just have to duplicate it as a .env file and to fill the empty values. All of them are mandatory.

🔨 Installation 🔨

To use Reaccoon, clone the repository:

# Via HTTPs
git clone https://github.com/Studio-17/Area.git reaccoon

Go to the project directory:

cd reaccoon/

Then, just before running the Reaccoon application, install all the necessary dependencies.

For that, we created a simple script to make this step easier. 😄

Executing the following command gives you the right to execute the installation Shell script:

chmod +x install.sh

Once this is done, execute the script with the following command:

./install.sh

🐳 Run Locally 🐳

As the Reaccoon is using Docker, you can manage and run the containers easily.

The application is composed of three services :

  • The server, which contains the API and the database.
  • The client_mobile, which contains the mobile version of the frontend application.
  • The client_web, which contains the mobile version of the frontend application.

To excute it you can run:

docker compose up --build
  • The Mobile documentation is here

  • The Web documentation is here

  • The Backend documentation and the list of all the action and reactions are listed here

🧠 Tech Stack 🧠

API: NestJS, TypeScript

Database: PostgreSQL

Web Client: ReactJS, TypeScript

Mobile Client: React-Native, TypeScript

📖 Documentation 📖

Click on the following link to API endpoints documentation (the API must be running) : SwaggerUI documentation

You can access to the global documentation of the project here

👥 Authors 👥

DevOps & Backend Team :

Mobile & Frontend Team :

Thank you for reading this documentation. ❤️

About

📱 Area is an IFTTT-like project which allows to automate actions and reactions connected to different services

Topics

Resources

Stars

Watchers

Forks

Languages