A modern web application for managing and monitoring scheduled and API-based triggers, built with Go (backend) and React/TypeScript (frontend).
- Create and manage triggers (Scheduled & API-based)
- Real-time event logging
- Cron-based scheduling
- Redis caching
- PostgreSQL storage
- Containerized deployment
- Go 1.21
- Gin Web Framework
- GORM (PostgreSQL)
- Redis
- Docker
- React 18
- TypeScript
- Vite
- TailwindCSS
- Docker and Docker Compose
- Go 1.21+ (for local development)
- Node.js 18+ (for local development)
- Clone the repository:
git clone https://github.com/your-repo/event-trigger-platform.git cd event-trigger-platform
- Start the services using Docker:
docker-compose up --build
- Access the application:
- Frontend: http://localhost:3000
- Backend API: http://localhost:8080
/event-trigger-platform
│── backend/ # Go backend (Gin, GORM, Redis, PostgreSQL)
│── frontend/ # React frontend (Vite, TypeScript, TailwindCSS)
│── docker-compose.yml # Docker Compose file
│── README.md # Documentation
GET /api/v1/triggers
- List all triggersPOST /api/v1/triggers
- Create a new triggerDELETE /api/v1/triggers/:id
- Delete a triggerPOST /api/v1/triggers/:id/execute
- Execute a triggerGET /api/v1/triggers/:id/logs
- Get trigger logs
GET /api/v1/events
- List all eventsPOST /api/v1/events
- Create a new eventGET /api/v1/events/:id
- Get details of an event
- Navigate to the backend folder:
cd backend
- Install dependencies:
go mod tidy
- Run the backend server:
go run main.go
- Navigate to the frontend folder:
cd frontend
- Install dependencies:
npm install
- Start the frontend development server:
npm run dev
To deploy the application using Docker Compose, run:
docker-compose up --build -d
Ensure the following environment variables are set:
DATABASE_URL=postgres://user:password@db:5432/event_db
REDIS_URL=redis://redis:6379
PORT=8080
MIT License. See LICENSE
for details.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
For any inquiries, contact deeppoharkar21@gmail.com.