Event-driven automation platform inspired by IFTTT and Zapier, designed to connect third-party services through configurable workflows.
Relay Platform is a full-stack automation system that enables users to create workflows where events trigger automated actions across multiple external services.
The platform focuses on scalable backend architecture, secure OAuth2 authentication, and containerized deployments, following modern software engineering best practices.
Relay Platform is built on a microservices-oriented architecture, composed of three main layers:
-
API Server
Business logic, REST API, workflow engine, and third-party integrations -
Web Client
Browser-based interface for managing services and automation rules -
Mobile Client
Cross-platform mobile application consuming the same API
External services are integrated via OAuth2, ensuring secure authentication and token management.
- 🔐 User authentication (JWT + OAuth2)
- 🔗 Third-party service integrations (Google, GitHub, Outlook, Discord, etc.)
- ⚙️ Event-based automation (Action → Reaction)
- 🚀 Real-time workflow execution engine
- 📚 Fully documented REST API
- 💻 Web and mobile clients
- 🐳 Docker-based local and production environments
Backend
- Node.js, Express
- REST APIs, OAuth2, JWT
- PostgreSQL with Prisma ORM
Frontend
- Web client (modern JavaScript framework)
- Mobile client consuming the same API
DevOps
- Docker & Docker Compose
- Environment-based configuration
- CI-ready project structure
- Docker
- Docker Compose
git clone git@github.com:danabenadel/Relay-platform.git
cd Relay-platform
docker-compose build
docker-compose upServices will be available at:
- Web client: http://localhost:8081
- API server: http://localhost:8080
Configuration is handled through environment variables.
Example .env:
SERVER_PORT=8080
DATABASE_URL=postgres://user:password@localhost:5432/db
GOOGLE_CLIENT_ID=your_client_id
GOOGLE_CLIENT_SECRET=your_client_secret
JWT_SECRET=change_me
⚠️ Never commit real secrets. Use.env.exampleas a template only.
Base URL:
http://localhost:8080
Example endpoints:
POST /auth/login
GET /services
POST /areasAll protected routes require JWT authentication.
Relay-platform/
├── server/ # API & business logic
├── web-client/ # Web interface
├── mobile-client/ # Mobile application
├── docker-compose.yml
├── README.md
└── docs/
- OAuth2 authentication for external services
- JWT-secured API endpoints
- Input validation and rate limiting
- Secrets managed via environment variables only
MIT License — see LICENSE
Developed by:
- Dana Benadel (@danabenadel) — Backend & Architecture
- Diego Lacroix (@diego75009) — Frontend
- Yasma Abd-elkhalek (@yasmaabdlk) — Mobile
- Nadia Benzaoui (@Nadiabenzaoui) — DevOps & Integration
Initially developed in an academic context, Relay Platform is maintained as a professional full-stack engineering project.