- Overview of AREA
- Documentation
- Technology Stack
- Libraries Used
- AREA Diagram
- Integrated External Services
- Getting Started with AREA
- Contributors
AREA (Action Reaction) is an automation platform designed to automate interactions between various services. Inspired by platforms like IFTTT (If This Then That) and Zapier, AREA aims to provide users with a means to automate repetitive tasks.
- Provide an intuitive user interface for creating and managing automations.
- Integrate a variety of popular services and enable seamless interactions between them.
- Automation Creation: Users can create automations by linking an action from one service to a reaction from another service.
- User Management: Users can register, log in, and manage their profiles.
- Service Management: Users can connect and manage different services to their AREA account.
- Server: The heart of AREA, managing users, services, and automations.
- Web Client: A web interface for users to interact with the platform.
- Mobile Client: A mobile application for interaction on mobile devices.
- Database: Stores user data, service configurations, and automations.
Below you'll find links to detailed documentation for the AREA project, including technical information, user guides, and system diagrams.
-
Technical Documentation: Detailed information on the system architecture, libraries used, and API references.
🔗 Read the Technical Documentation 🔗 -
User Guide: Instructions on how to use the AREA platform, set up triggers and actions, and integrate services.
🔗 Read the User Guide 🔗 -
System Diagram: Visual representation of the AREA system components and their interactions.
🔗 View the AREA Diagram 🔗
This section describes the key technologies used for building and deploying AREA, covering the database, server, mobile, and web clients, as well as the containerization environment.
- MongoDB: A NoSQL database chosen for its flexibility and ability to handle structured and unstructured data (stores data in BSON documents).
- Mongo Compass: Used for a visual representation and easy interaction with the MongoDB database.
- Node.js: Server-side JavaScript execution environment, chosen for its rich library ecosystem.
- Flutter: Google's mobile development SDK, enabling the creation of high-quality native applications for iOS and Android from a single codebase.
- React: JavaScript library for building user interfaces, chosen for its modularity.
- Docker: Used to containerize the application and ensure consistent deployment environments.
- Docker Compose: Used to define and run multi-container Docker applications.
- AWS (Amazon Web Services):
- EC2 (Elastic Compute Cloud): For hosting the application servers with an EC2 instance.
- Route 53: For domain name management, using AWS for the DNS system.
- Elastic Load Balancing: For efficiently distributing incoming traffic and for high availability.
- VPC (Virtual Private Cloud): Configuring an isolated network within AWS, allowing control over AREA's network environment.
- Network Interfaces: For configuring network interfaces associated with EC2 instances.
- ARN (Amazon Resource Name): A unique identifier assigned to the Load Balancer in AWS.
For a comprehensive list of all libraries and dependencies utilized in this project, as well as their versions and purposes, please refer to our detailed technical documentation. The documentation provides in-depth insights into how each library contributes to the functionality of AREA and ensures that all components work seamlessly together.
🔗 Read the full technical documentation for libraries details.
These external services are integrated into AREA, allowing users to link their accounts from these platforms with their AREA profile, thus facilitating the automation of interactions between various services.
To enhance this experience, AREA employs the concept of "ingredients." Ingredients are key data snippets extracted from triggers, automatically identified to simplify the creation of actions. Ingredients might include device names, trigger times, or other service-specific data. Look for the flask icon to use them in action setups, adding a layer of customization to your automation flows.
For complete details of each service trigger, actions and ingredients read the full technical documentation:
🔗 AREA Technical Documentation.
- Ensure Docker and Docker Compose are installed on your local machine.
- Clone the AREA project repository.
- Environment Configuration:
- Navigate to the server directory.
- Create a
.envfile with the necessary environment variables for your setup.
- Navigate to the project root directory in your terminal.
- Run
docker-compose buildto construct the required Docker images. - Start the services with
docker-compose up. - Verify the services:
- AREA Server:
http://localhost:8080 - AREA Web Client:
http://localhost:8081
- AREA Server:
- Connect to your AWS EC2 instance via SSH.
- Environment Configuration:
- Navigate to the server directory.
- Create a
.envfile with the necessary environment variables for your setup.
- If you have made changes to the code or if it's the first setup, run
docker-compose build. - Start the services with
docker-compose up -dto run them in the background. - Verify the services:
- AREA Server: Access
https://api.techparisarea.comto ensure the server is up and running. - AREA Web Client: Access
https://techparisarea.comto ensure the web client is operational.
- AREA Server: Access
- Ensure proper ports are opened in your EC2 security group and services are configured to use HTTPS with the correct SSL certificates for encryption.
- ADELE DE PREMONVILLE
- NOAH LE VEVE
- LUCAS HOLCZINGER
- HUGO PATTEIN
- LOUIS CHAMBON


