ReqNest is a cloud-native backend automation platform that generates real backend APIs from your schema instantly.
Think of it as:
Where your models → instantly become production APIs:
- REST
- GraphQL
- WebSockets
- Real-time updates
- SDKs
- Authentication
- Documentation
All generated automatically.
React (Frontend) ──► Nginx ──► Ingress ──► Spring Boot (Backend)
│ ├─► MySQL
│ ├─► MongoDB
Public HTTPS (Ngrok) ─┘ └─► Redis
- Runtime configuration using
config.js - Secure OAuth2 login (Google)
- Fully containerized for Kubernetes
- Ngrok integration for public HTTPS (local dev)
- Works on Kind, Minikube, and Cloud K8s
| 🎨 AI Schema Builder | ⚡ Instant CRUD | 🔐 OAuth2 + JWT | 📚 Auto Docs |
|---|---|---|---|
| Generate models from plain English | Create REST/GraphQL instantly | Google OAuth2 out of the box | Swagger + SDKs |
Perfect for local development.
docker compose up --build- Frontend → http://localhost:3000
- Backend → http://localhost:8080
- MySQL → 3306
- MongoDB → 27017
- Redis → 6379
kind create cluster --name reqnestkubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/cloud/deploy.yamlkubectl apply -f k8s/Your services:
frontend : NodePort 30000
backend : ClusterIP
mysql : ClusterIP
mongo : ClusterIP
redis : ClusterIP
ingress : /, /api, /oauth2, /login/oauth2
kubectl port-forward -n ingress-nginx svc/ingress-nginx-controller 8080:80ngrok http http://localhost:8080You get:
https://xxxxx.ngrok-free.dev
Use this URL for:
- Frontend
- Backend
- Google OAuth redirect
- ConfigMap
https://<ngrok-domain>/login/oauth2/code/google
https://<ngrok-domain>
<ngrok-domain>
File: application.yml
server:
forward-headers-strategy: framework
spring:
security:
oauth2:
client:
registration:
google:
client-id: ${GOOGLE_ID}
client-secret: ${GOOGLE_SECRET}
redirect-uri: "{baseUrl}/login/oauth2/code/{registrationId}"This ensures Spring Boot uses ngrok’s HTTPS instead of HTTP.
ReqNest frontend uses runtime environment variables so no rebuild needed.
window._env_ = {
VITE_API_URL: "<your-ngrok-url>/api"
};#!/bin/sh
echo "window._env_ = {" > /usr/share/nginx/html/config.js
echo " VITE_API_URL: \"$VITE_API_URL\"" >> /usr/share/nginx/html/config.js
echo "};" >> /usr/share/nginx/html/config.js
exec nginx -g 'daemon off;'File: nginx.conf
server {
listen 80;
server_name _;
root /usr/share/nginx/html;
index index.html;
location = /config.js {
try_files $uri =404;
}
location /assets/ {
try_files $uri =404;
}
location / {
try_files $uri /index.html;
}
}/api → backend:8080
/login/oauth2 → backend:8080
/oauth2 → backend:8080
/ → frontend:80Ingress file:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: reqnest-ingress
namespace: reqnest
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "false"
spec:
ingressClassName: nginx
rules:
- http:
paths:
- path: /api
pathType: Prefix
backend:
service:
name: backend
port:
number: 8080
- path: /login/oauth2
pathType: Prefix
backend:
service:
name: backend
port:
number: 8080
- path: /oauth2
pathType: Prefix
backend:
service:
name: backend
port:
number: 8080
- path: /
pathType: Prefix
backend:
service:
name: frontend
port:
number: 80reqnest/
├── frontend/
│ ├── public/
│ ├── src/
│ ├── nginx.conf
│ ├── entrypoint.sh
│ └── Dockerfile
├── backend/
│ ├── src/
│ ├── application.yml
│ └── Dockerfile
├── k8s/
│ ├── mysql.yml
│ ├── mongo.yml
│ ├── redis.yml
│ ├── backend-deployment.yml
│ ├── frontend-deployment.yml
│ └── ingress.yml
├── docker-compose.yml
└── README.md
https://<ngrok>/config.js
https://<ngrok>/
https://<ngrok>/api/health
https://<ngrok>/oauth2/authorization/google
Fix by adding:
server.forward-headers-strategy: framework
Your nginx.conf is missing:
location = /config.js
Nginx recursion — fix try_files:
try_files $uri /index.html;
Restart:
ngrok http http://localhost:8080
Add new domain to Google Console.
Website: https://reqnest.com Support: [email protected] Discord: https://discord.gg/reqnest
```
