Gratheon.com user data related service, responsible for:
- registration & login
- billing
- translations of web-app labels (would be good to move to separate service)
| Environment | URL |
|---|---|
| Local | http://localhost:4000 |
| Prod | https://user-cycle.gratheon.com |
To run, you need nvm and just:
just start
| Method | URL | Description |
|---|---|---|
| POST | /graphql | GraphQL API |
| POST | /webhook | Stripe webhook |
| GET | /health | Health check |
| GET | /user/cancel | Redirect from stripe UI |
- https://stripe.com/docs/billing/subscriptions/build-subscriptions
- https://dashboard.stripe.com/test/webhooks/create?endpoint_location=local
flowchart LR
web-app("<a href='https://github.com/Gratheon/web-app'>web-app</a>") --> graphql-router
graphql-router --> user-cycle("<a href='https://github.com/Gratheon/user-cycle'>user-cycle</a>") --"CRUD on user"--> mysql
user-cycle --> stripe
user-cycle --"register schema"--> graphql-schema-registry
graphql-router --> graphql-schema-registry
web-app--"translate text" --> user-cycle --"translate phrases"--> clarifai
user-cycle--"get/set translations"--> mysql
user-cycle--"send emails"--> sendgrid
user-cycle--"create grafana org and user"--> grafana
stripe listen --forward-to localhost:4000/webhook
Enter 4242 4242 4242 4242 as the card number Enter any future date for card expiry Enter any 3-digit number for CVV Enter any billing postal code (90210)
This project is dual-licensed:
-
AGPL v3 - For open source use:
- ✅ You can use, modify, and distribute the software
- ✅ Source code is freely available
⚠️ If you modify and host a public instance, you must share your modifications⚠️ Any derivative work must also be licensed under AGPL v3
-
Commercial License - For enterprise customers who need:
- 🏢 On-premise deployment without source disclosure
- 🔧 Custom modifications without copyleft obligations
- 🎨 White-label/rebranding rights
- 📞 Priority support and SLA guarantees
If you'd like to contribute, please see our Contributing Guide and sign our Contributor License Agreement (CLA).