Skip to content

ElianDochev/AREA_server_based_web_app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hi 👋 I'm Eliyan Dochev!

Get in touch with me 🤝

AreaCraft

An automation platform for connecting your favorite services

📋 Overview

AreaCraft is a web and mobile application that allows users to create automated workflows between different services. Similar to IFTTT or Zapier, AreaCraft lets you connect triggers (when something happens) with actions (do something) across multiple platforms.

✨ Supported Services

The platform currently integrates with the following services:

  • Trello: Create, update, and manage boards, lists, and cards
  • Callr: Make calls, send SMS, and manage media
  • ChatGPT: Process messages with AI for sentiment analysis, categorization, summarization, and email formatting
  • GitHub: Connect with your GitHub account
  • Spotify: Connect with your Spotify account

🔄 Webhook Support

AreaCraft utilizes webhooks to trigger actions based on events:

Trello Webhooks

  • Board events (create, update, delete)
  • List events (create, update, delete)
  • Card events (create, update, delete)
  • Member events (create, update, delete)

Callr Webhooks

  • Call events (outbound hangup, inbound start, outbound start, inbound hangup)
  • Media recording events
  • Billing credit events
  • SMS events
  • DID (Direct Inward Dialing) events (assigned, unassigned)

🚀 Getting Started

Prerequisites

  • Docker and Docker Compose
  • Node.js and npm/yarn for web development
  • Expo CLI for mobile development
  • API keys for the services you want to connect (Trello, Callr, ChatGPT, GitHub, Spotify, NASA)

Environment Setup

Create a .env file in the server directory with the following variables:

SERVER_SECRET_KEY=your_secret_key
DATABASE_URI=sqlite:///../Area.db
VIRSION=1.0
PORT=8080
SERVER_URL=http://your_public_ip:${PORT}
API_TRELLO=your_trello_api_key
API_SECRET=your_trello_api_secret
ADMIN_PASSWORD=your_admin_password
ADMIN_USERNAME=admin
CHATGPT_API_KEY=your_openai_api_key
CALLR_LOGIN=your_callr_login
CALLR_PASSWORD=your_callr_password
GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret
API_NASA=your_nasa_api_key

Running the Server

Navigate to the project directory and run:

cd server
docker compose up --build

The server will be available at http://localhost:8080.

Running the Web Client

cd web
yarn install
yarn serve

The web application will be available at http://localhost:8081.

Running the Mobile Client

cd mobile
yarn install
expo start --tunnel

Note: Launch the server first before frontend to ensure the API is available.

Follow the Expo instructions to run the application on your mobile device or emulator.

🧩 Creating an Automation

  1. Register an account and log in
  2. Connect to your preferred services
  3. Create a new Area by selecting:
    • A trigger service and event (e.g., "When a new Trello card is created")
    • An action service and action (e.g., "Send an SMS via Callr")
  4. Configure any necessary parameters
  5. Save and activate your Area

📱 Mobile Features

The mobile application supports:

  • User registration and authentication
  • Service connection (OAuth or API credentials)
  • Area creation and management
  • Push notifications for triggered events

🌐 Web Features

The web interface provides:

  • User registration and authentication
  • Service connection
  • Area creation and management
  • Dashboard for monitoring automation activities

📝 Docs

you can find the documentation of the api endpoints when you run the server at http://localhost:8080/docs

⭐ Acknowledgements

AreaCraft was created by the following team: Eliyan, Vlad, Charles, Vasiliy.

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published