urBackend is an instant "Backend-as-a-Service" (BaaS) platform designed for frontend developers. It empowers you to create projects, define database schemas, manage authentication, and handle file storage without writing a single line of backend code.
Stop writing boilerplate. Get an instant Database, Authentication, and Storage API for your next big idea.
- โก Instant NoSQL Database: Create collections and push JSON data instantly. No server setup required.
- ๐ก๏ธ Authentication: Built-in User Management (Sign Up, Login, Profile) secured with JWT.
- ๐ Cloud Storage: Upload, manage, and delete files/images with public CDN links.
- ๐ Real-time Analytics: Monitor API usage, traffic, and storage limits via the dashboard.
- ๐ ๏ธ Visual Schema Builder: Define table columns (String, Number, Boolean, Date) through an intuitive UI.
- ๐ Security: API Key-based access control and Row Level Security.
Important
Security Warning: Your x-api-key grants Admin Access (Read/Write/Delete).
- โ NEVER use this key in client-side code (frontend).
- โ ONLY use this key in secure server-side environments.
- React.js (Vite)
- React Router DOM
- Axios
- Lucide React (Icons)
- Recharts (Analytics)
- Node.js & Express
- MongoDB (Mongoose)
- JWT (JSON Web Tokens)
- Multer (File Handling)
- Supabase (Cloud Storage)
Once your project is created in the dashboard, use your Public API Key to make requests.
https://api.urbackend.bitbros.in
Sign Up User:
await fetch('https://api.urbackend.bitbros.in/api/userAuth/signup', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'YOUR_API_KEY'
},
body: JSON.stringify({
email: "user@example.com",
password: "securePassword123",
name: "John Doe" // Optional
})
});Login User:
const res = await fetch('https://api.urbackend.bitbros.in/api/userAuth/login', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'YOUR_API_KEY'
},
body: JSON.stringify({
email: "user@example.com",
password: "securePassword123"
})
});
const data = await res.json(); // Returns { token: "JWT_TOKEN", user: {...} }Get Profile (Me):
await fetch('https://api.urbackend.bitbros.in/api/userAuth/me', {
method: 'GET',
headers: {
'x-api-key': 'YOUR_API_KEY',
'Authorization': 'Bearer <USER_TOKEN>' // From login response
}
});Get All Items:
// Replace :collectionName with your actual collection name (e.g., 'products')
const res = await fetch('https://api.urbackend.bitbros.in/api/data/products', {
headers: { 'x-api-key': 'YOUR_API_KEY' }
});
const data = await res.json();Insert Data:
await fetch('https://api.urbackend.bitbros.in/api/data/products', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'YOUR_API_KEY'
},
body: JSON.stringify({
name: "MacBook Pro",
price: 1299,
inStock: true
})
});Get / Update / Delete by ID:
const id = "DOCUMENT_ID"; // The '_id' from the document
// Get One
await fetch(`https://api.urbackend.bitbros.in/api/data/products/${id}`, {
headers: { 'x-api-key': 'YOUR_API_KEY' }
});
// Update
await fetch(`https://api.urbackend.bitbros.in/api/data/products/${id}`, {
method: 'PUT',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'YOUR_API_KEY'
},
body: JSON.stringify({ price: 1199 })
});
// Delete
await fetch(`https://api.urbackend.bitbros.in/api/data/products/${id}`, {
method: 'DELETE',
headers: { 'x-api-key': 'YOUR_API_KEY' }
});Upload File:
const formData = new FormData();
formData.append('file', fileInput.files[0]);
const res = await fetch('https://api.urbackend.bitbros.in/api/storage/upload', {
method: 'POST',
headers: { 'x-api-key': 'YOUR_API_KEY' },
body: formData
});
const data = await res.json();
// Returns { url: "...", path: "project_id/filename.jpg" }Delete File:
await fetch('https://api.urbackend.bitbros.in/api/storage/file', {
method: 'DELETE',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'YOUR_API_KEY'
},
body: JSON.stringify({
path: "PROJECT_ID/filename.jpg" // The 'path' from upload response
})
});- Rate Limit: 100 requests / 15 mins per IP.
- Database Size: Max 50 MB per project.
- File Storage: Max 100 MB per project.
- File Upload Size: Max 5 MB per file.
We welcome contributions! Please see CONTRIBUTING.md for details on how to get started, development workflow, and our code of conduct.
UrBackend is just getting started. Hereโs whatโs on the horizon:
- MongoDB: Apis for more complex queries on dashboard + for urbackend.
- Webhooks: Notify your frontend on database changes.
- PostgreSQL Support: Expand beyond MongoDB (Very tough but we will build together with the community โค๏ธ).
- Plug-and-Play UI Components: React components for login/signup.
- Advanced Logs: Detailed API request tracing.
- Role-Based Access Control (RBAC): Fine-grained permissions.
Want to see a feature? Open an issue!
Built with โค๏ธ for urbackend