Thank you for your interest in contributing to urBackend! We welcome contributions to help make this "Backend-as-a-Service" platform even better.
Please take a moment to review this document in order to make the contribution process easy and effective for everyone involved.
Fork the repository to your GitHub account and then clone it locally:
git clone https://github.com/YOUR_USERNAME/urBackend.git
cd urBackendThe repository is organized into a monorepo-style structure:
apps/dashboard-api: The internal API handling dashboard operations, project management, and user authentication for the urBackend platform.apps/public-api: The public-facing API that users' applications interact with to store data, manage users, and handle storage.apps/web-dashboard: The React-based frontend dashboard where users manage their projects and keys.
packages/common: Shared logic, MongoDB models, and utility functions used by both APIs.
examples/social-demo: A full-featured X.com clone demonstrating the capabilities of urBackend.
- Node.js: v18 or later.
- MongoDB: A running instance (local or Atlas).
- Redis: Required for API key caching in
public-api.
- From the root directory, install all dependencies for the entire monorepo:
This will automatically link all packages and install dependencies for all apps.
npm install
You can start all main applications at once (useful for testing end-to-end):
npm run devIf you only want to work on a specific application:
- Dashboard API:
npm run dev --workspace=dashboard-api - Public API:
npm run dev --workspace=public-api - Web Dashboard:
npm run dev --workspace=web-dashboard
-
Create a Branch: Always create a new branch for your work. Use descriptive names like
feature/new-login-uiorfix/database-connection.git checkout -b feature/your-feature-name
-
Make Changes: Implement your feature or fix. Follow the existing coding style and ensure your code is well-documented.
-
Test Your Changes:
- Ensure there are no linting errors across the project:
npm run lint --workspaces --if-present
-
Commit: Use clear and concise commit messages following conventional commits standard if possible.
git commit -m "feat: add social auth support" -
Push: Push your branch to your forked repository.
git push origin feature/your-feature-name
- Go to the original repository and click "Compare & pull request".
- Provide a clear title and description of your changes.
- Link any related issues (e.g., "Fixes #123").
- Wait for review and address any feedback.
- Bugs: If you find a bug, please create an issue describing the problem, steps to reproduce, and expected behavior.
- Features: If you have an idea for a new feature, feel free to open an issue to discuss it before starting implementation.
Please be respectful and considerate of others. We aim to create a welcoming and inclusive environment for all contributors.
Happy Coding! 🚀