Skip to content

Commit 5a6dfef

Browse files
committed
fix: readme and env.example
1 parent a0d3066 commit 5a6dfef

2 files changed

Lines changed: 89 additions & 74 deletions

File tree

.env.example

Lines changed: 40 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -5,66 +5,63 @@
55
# Linux/macOS: cp .env.example .env
66
# PowerShell: Copy-Item .env.example .env
77

8-
# ── Server Ports ────────────────────────────────────────────────────────────
9-
PORT=1234 # For Admin Server (Dashboard)
10-
USER_PORT=1235 # For User Server (Public API)
8+
# ==============================================================================
9+
# [REQUIRED] CORE SETTINGS (Needed to run urBackend locally)
10+
# ==============================================================================
11+
12+
# ── Server Ports ──
13+
PORT=1234 # Admin Server (Dashboard)
14+
USER_PORT=1235 # User Server (Public API)
1115
NODE_ENV=development
1216

13-
# ── Database & Cache ────────────────────────────────────────────────────────
14-
# When using docker-compose, these are automatically overridden to point to
15-
# internal service names (mongo, redis). You do NOT need to change these.
17+
# ── Database & Cache ──
18+
# When using docker-compose, these point to internal service names.
19+
# No need to change these for local testing.
1620
MONGO_URL=mongodb://mongo:27017/urbackend
1721
REDIS_URL=redis://redis:6379
1822

19-
# ── Authentication ──────────────────────────────────────────────────────────
20-
# Generate random secrets for these values.
21-
# JWT_SECRET/API_KEY_SALT examples:
22-
# openssl rand -base64 32
23-
# node -e "console.log(require('crypto').randomBytes(32).toString('base64'))"
24-
#
25-
# ENCRYPTION_KEY must be 64 hex chars (32 bytes), examples:
26-
# openssl rand -hex 32
27-
# node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
28-
JWT_SECRET=your_super_secret_jwt_key_min_32_chars
29-
ENCRYPTION_KEY=64_hex_characters_for_aes_256_gcm_key
30-
API_KEY_SALT=your_random_api_key_salt
23+
# ── Authentication Secrets ──
24+
# Any random 32+ character strings will work for local dev.
25+
JWT_SECRET=super_secret_jwt_key_for_local_dev_only
26+
ENCRYPTION_KEY=0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
27+
API_KEY_SALT=super_secret_api_key_salt_for_dev
28+
29+
# ── Frontend & Public API ──
30+
FRONTEND_URL=http://localhost:5173
31+
PUBLIC_API_URL=http://localhost:1235
32+
33+
34+
# ==============================================================================
35+
# [OPTIONAL] CLOUD & 3RD-PARTY INTEGRATIONS (For Production / Full Features)
36+
# ==============================================================================
3137

32-
# Public API userAuth token config (optional; defaults shown)
38+
# ── Authentication Token TTLs ──
3339
PUBLIC_AUTH_ACCESS_TOKEN_TTL=15m
3440
PUBLIC_AUTH_REFRESH_TOKEN_TTL_SECONDS=604800
3541

36-
# ── External Storage (Supabase) ─────────────────────────────────────────────
42+
# ── External Storage (Supabase) ──
3743
# Required for file upload/storage features.
3844
# Get from: https://app.supabase.com → Project Settings → API
39-
SUPABASE_URL=https://your-project.supabase.co
40-
SUPABASE_KEY=your-supabase-anon-key
45+
SUPABASE_URL=
46+
SUPABASE_KEY=
4147

42-
# ── Email (Resend) ──────────────────────────────────────────────────────────
48+
# ── Email (Resend) ──
4349
# Required for OTP / email verification flow.
4450
# Get from: https://resend.com/api-keys
45-
RESEND_API_KEY=re_your_resend_api_key
51+
RESEND_API_KEY=
4652
EMAIL_FROM=onboarding@resend.dev
53+
RESEND_WEBHOOK_SECRET=
4754

48-
# Get from: https://resend.com/webhooks → Create Endpoint
49-
RESEND_WEBHOOK_SECRET=whsec_your_resend_webhook_secret
50-
51-
# ── Frontend ────────────────────────────────────────────────────────────────
52-
FRONTEND_URL=http://localhost:5173
53-
PUBLIC_API_URL=https://api.ub.bitbros.in
54-
55-
# ── Billing (Razorpay) ──────────────────────────────────────────────────────
55+
# ── Billing (Razorpay) ──
56+
# Required for paid plans and subscription management.
5657
# Get from: https://dashboard.razorpay.com → Settings → API Keys
57-
RAZORPAY_KEY_ID=rzp_test_xxxxxxxxxxxx
58-
RAZORPAY_KEY_SECRET=xxxxxxxxxxxxxxxxxxxx
59-
60-
# Create from: https://dashboard.razorpay.com → Subscriptions → Plans → Create Plan
61-
RAZORPAY_PLAN_ID=plan_xxxxxxxxxxxx
62-
63-
# Get from: https://dashboard.razorpay.com → Settings → Webhooks → Add Endpoint
64-
RAZORPAY_WEBHOOK_SECRET=whsec_xxxxxxxxxxxx
58+
RAZORPAY_KEY_ID=
59+
RAZORPAY_KEY_SECRET=
60+
RAZORPAY_PLAN_ID=
61+
RAZORPAY_WEBHOOK_SECRET=
6562

66-
# ── Internal Microservices (AI & Python) ────────────────────────────────────
63+
# ── Internal Microservices (AI & Python) ──
6764
# Required for AI Query Builder and Python microservice communication
6865
PYTHON_SERVICE_URL=http://localhost:8000
69-
INTERNAL_SECRET=generate_a_random_32_char_secret_here
70-
GROQ_API_KEY=gsk_your_groq_api_key_here
66+
INTERNAL_SECRET=
67+
GROQ_API_KEY=

README.md

Lines changed: 49 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -7,63 +7,81 @@
77
</p>
88

99
<p align="center">
10-
<b>Bring your own MongoDB. Get a production-ready backend in 60 seconds.</b><br/>
10+
<b>The Scalable, MongoDB-Native Open-Source Firebase Alternative.</b><br/>
1111
<i>your backend — your database — your rules.</i>
1212
</p>
1313

1414
<p align="center">
15-
<a href="https://urbackend.bitbros.in"><strong>Dashboard</strong></a> ·
15+
<a href="https://urbackend.bitbros.in"><strong>Cloud Dashboard</strong></a> ·
1616
<a href="https://docs.ub.bitbros.in/introduction"><strong>Docs</strong></a> ·
17-
<a href="https://docs.ub.bitbros.in/quickstart"><strong>Quick Start</strong></a> ·
1817
<a href="https://discord.gg/CXJjvJkNWn"><strong>Discord</strong></a>
1918
</p>
2019

2120
<div align="center">
2221

2322
![Build Status](https://img.shields.io/github/actions/workflow/status/yash-pouranik/urbackend/ci.yml?branch=main)
24-
![Cron job status](https://api.cron-job.org/jobs/7699036/904690c229bd9d69/status-7.svg)
2523
![License](https://img.shields.io/github/license/yash-pouranik/urbackend)
26-
![Issues](https://img.shields.io/github/issues/yash-pouranik/urbackend)
2724
![Stars](https://img.shields.io/github/stars/yash-pouranik/urbackend?name=urbackend)
28-
![GSSOC'26](https://img.shields.io/badge/GSSOC-2026-8b5cf6)
29-
![NSOC'26](https://img.shields.io/badge/NSOC-2026-14b8a6)
25+
![Commits](https://img.shields.io/github/commit-activity/m/yash-pouranik/urbackend)
3026

3127
</div>
3228

33-
<p align="center">
34-
<small><b>License:</b> Core apps/packages are AGPL-3.0-only · examples and <code>@urbackend/sdk</code> are MIT.</small>
35-
<br />
36-
<small>Contributions currently do not require CLA/DCO; submitted changes are licensed under the package license they modify (details in <code>CONTRIBUTING.md</code>).</small>
37-
</p>
29+
---
30+
31+
**urBackend** is an Open-Source Backend-as-a-Service (BaaS) built to eliminate the complexity of backend management while preserving the scaling power of Enterprise architecture (MongoDB + Redis).
32+
33+
Whether you want to **self-host** in 60 seconds using Docker or use our managed **Cloud SaaS**, urBackend provides everything you need to power your next big idea via a unified REST API and gorgeous Dashboard.
34+
35+
## ⚡ 1-Click Local Quickstart (Docker)
36+
37+
Get a complete production-ready backend (API, Dashboard, MongoDB, and Redis) running locally on your machine in under 60 seconds.
38+
39+
```bash
40+
# 1. Clone the repository
41+
git clone https://github.com/yash-pouranik/urbackend.git
42+
cd urbackend
43+
44+
# 2. Setup environment variables (defaults are ready for local dev!)
45+
cp .env.example .env
46+
47+
# 3. Fire it up
48+
docker-compose up -d --build
49+
```
50+
51+
That's it! 🎉
52+
- 🌐 **Dashboard:** `http://localhost:5173`
53+
- ⚙️ **Admin API:** `http://localhost:1234`
54+
- 🚀 **Public API:** `http://localhost:1235`
3855

3956
---
4057

41-
urBackend is an **Open-Source BaaS** built to eliminate the complexity of backend management. It provides everything you need to power your next big idea—accessible via a unified REST API.
58+
## 🟢 Why urBackend?
4259

43-
## 🟢 Powerful Features
60+
While tools like PocketBase are great for small single-server apps (SQLite), **urBackend** is built for scale.
4461

45-
| Feature | Description |
46-
| :--- | :--- |
47-
| **Instant NoSQL** | Create collections and push JSON data instantly with zero boilerplate. |
48-
| **Managed Auth** | Sign Up, Login, and Profile management with JWT built-in. |
49-
| **Cloud Storage** | Managed file/image uploads with public CDN links. |
50-
| **BYO Database** | Connect your own MongoDB Atlas or self-hosted instance. |
51-
| **Real-time Analytics** | Monitor traffic and resource usage from a premium dashboard. |
52-
| **Unique Constraints** | Enforce field uniqueness (e.g., username, email) at the database level. |
53-
| **Secure Architecture** | Dual-key separation (`pk_live` & `sk_live`) for total safety. |
62+
| Feature | urBackend | Firebase | PocketBase |
63+
| :--- | :--- | :--- | :--- |
64+
| **Database** | **MongoDB (Scalable)** | Proprietary NoSQL | SQLite (Single Server) |
65+
| **Caching** | **Redis Built-in** | None | None |
66+
| **Hosting** | **Self-Hosted / Cloud** | Cloud Only | Self-Hosted |
67+
| **Source** | **Open-Source** | Closed-Source | Open-Source |
68+
69+
### Core Features:
70+
- **Instant NoSQL:** Create collections and push JSON data instantly.
71+
- **Managed Auth:** Sign Up, Login, and Profile management with JWT built-in.
72+
- **Row-Level Security (RLS):** Total control over who can read/write data.
73+
- **BYO Database:** Connect your own MongoDB Atlas or run the included local MongoDB.
74+
- **Cloud Storage & Webhooks:** Managed uploads and real-time event triggers.
5475

5576
---
5677

57-
## 🚀 Quick Start
78+
## 💻 Client SDKs (JavaScript & Python)
5879

59-
Go from zero to a live backend in **under 60 seconds**.
80+
Once your backend is running, use our official SDKs to interact with it seamlessly.
6081

61-
1. **Initialize**: Create a project on the [Dashboard](https://urbackend.bitbros.in).
62-
2. **Install SDK**:
63-
- **Node.js / TS:** `npm install @urbackend/sdk`
64-
- **Python:** `pip install urbackend`
65-
3. **Model**: Visually define your collections and schemas.
66-
4. **Execute**: Push and pull data immediately using the SDK.
82+
1. Create a project on your local Dashboard (`localhost:5173`).
83+
2. Install the SDK: `npm install @urbackend/sdk`
84+
3. Start building!
6785

6886
### TypeScript / Node.js
6987
```javascript

0 commit comments

Comments
 (0)