https://github.com/swarnendug07/chainx
This is No Code automation platform. Automate your workflows with CHAINX
https://github.com/swarnendug07/chainx
kafka nextjs14 nodejs postgresql prisma react tailwindcss
Last synced: 14 days ago
JSON representation
This is No Code automation platform. Automate your workflows with CHAINX
- Host: GitHub
- URL: https://github.com/swarnendug07/chainx
- Owner: SwarnenduG07
- Created: 2024-09-11T05:24:16.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-02-15T04:52:12.000Z (2 months ago)
- Last Synced: 2025-03-25T09:22:03.986Z (about 1 month ago)
- Topics: kafka, nextjs14, nodejs, postgresql, prisma, react, tailwindcss
- Language: TypeScript
- Homepage:
- Size: 1.53 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ChainX
A modern automation platform that connects your favorite apps and services. Built with scalability and extensibility in mind.
## ✨ Features
- 🔗 Connect multiple apps and services
- 🤖 Automated workflow creation
- 📧 Gmail integration
- 💌 Email automation
- 🔐 Secure OAuth2 authentication
- 🌐 RESTful API
- 🚀 Real-time processinggit clone https://github.com/SwarnenduG07/chainx.git
cd chainx## 🛠️ Tech Stack
- **Frontend**: Next.js 14, TailwindCSS, TypeScript
- **Backend**: Express.js, Node.js
- **Database**: PostgreSQL, Prisma ORM
- **Message Queue**: Apache Kafka
- **Authentication**: JWT, OAuth2
- **Infrastructure**: Docker,
- **CI/CD**: GitHub Actions
- [Prettier](https://prettier.io) for code formatting## 📁 Project Structure
```bash
chainx/
├── apps/
│ ├── web/ # Next.js frontend
│ ├── primary-backend/ # Main API server
│ ├── processor/ # Kafka message processor
│ ├── worker/ # Background job worker
│ └── hooks/ # Webhook handlers
├── packages/
│ ├── db/ # Prisma database package
│ ├── ui/ # Shared UI components
│ ├── config-eslint/ # ESLint configuration
│ ├── config-typescript/ # TypeScript configuration
│ └── config-tailwind/ # TailwindCSS configuration```
## Prerequisites
Node.js 20+
pnpm 9+
Docker (optional)Run the following command:
## 1 Clone the repository
```bash
git clone https://github.com/SwarnenduG07/chainx.git
cd chainx
```## 2 Install dependencies
```
pnpm install
```
## 3 Setup env's
```
# Databse url = DATABASE_URL=postgresql://user:password@localhost:5432/chainx
# SendGrid Configuration
SMTP_HOST=smtp.sendgrid.net
SMTP_PORT=587
SMTP_USER=apikey
SMTP_PASS=your_new_sendgrid_api_key
[email protected]# JWT Configuration
JWT_SECRET=generate_strong_random_secret
FRONTEND_URL=http://localhost:3000# Google Cloud/Gmail Configuration
GMAIL_TOPIC_NAME=projects/your-new-project-id/topics/gmail-topic
PUBSUB_SUBSCRIPTION=projects/your-new-project-id/subscriptions/gmail-subscription
GMAIL_CLIENT_ID=your_new_gmail_client_id
GMAIL_CLIENT_SECRET=your_new_gmail_client_secret
GMAIL_REDIRECT_URI=http://localhost:3002/api/v1/trigger/gmail/callback```
## Start development server
```
pnpm run dev```
## 🔧 Development Commands
```
pnpm build # Build all apps and packages
pnpm dev # Start development servers
pnpm test # Run tests
pnpm lint # Run linting
pnpm type-check # Run type checking
```## 📐 Architecture
```
graph TD
A[Web Frontend] --> B[API Gateway]
B --> C[Primary Backend]
C --> D[PostgreSQL]
C --> E[Kafka]
E --> F[Processor]
F --> G[Worker]
```
## 🤝 Contributing
### 1 Fork the Repo
### 2 Create your feature branch (git checkout -b feature/amazing-feature)
### 3 Commit your changes (git commit -m 'feat: add amazing feature')
### 4 Push to the branch (git push origin feature/amazing-feature)
### 5 Open a Pull Request With a good description## 🙏 Acknowledgments
Turborepo\
Next.js\
Express\
Prisma\
kafka\
gmail-api\