Skip to content

Commit 42e24e8

Browse files
committed
chore: setup open-source governance and CI/CD workflow
1 parent ed380d2 commit 42e24e8

10 files changed

Lines changed: 228 additions & 2 deletions

File tree

‎.github/PULL_REQUEST_TEMPLATE.md‎

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
## 🚀 Pull Request Description
2+
Fixes # (issue number)
3+
4+
## 🛠️ Type of Change
5+
- [ ] 🐛 Bug fix (non-breaking change which fixes an issue)
6+
- [ ] ✨ New feature (non-breaking change which adds functionality)
7+
- [ ] 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
8+
- [ ] 📝 Documentation update
9+
- [ ] 🎨 UI/UX improvement (Frontend only)
10+
- [ ] ⚙️ Refactor / Chore
11+
12+
## 🧪 Testing & Validation
13+
### Backend Verification:
14+
- [ ] I have run `npm test` in the `backend/` directory and all tests passed.
15+
- [ ] I have verified the API endpoints using Postman/Thunder Client.
16+
- [ ] New unit tests have been added (if applicable).
17+
18+
### Frontend Verification:
19+
- [ ] I have run `npm run lint` in the `frontend/` directory.
20+
- [ ] Verified the UI changes on different screen sizes (Responsive).
21+
- [ ] Checked for any console errors in the browser dev tools.
22+
23+
## 📸 Screenshots / Recordings (Optional)
24+
## ✅ Checklist
25+
- [ ] My code follows the code style of this project.
26+
- [ ] I have performed a self-review of my code.
27+
- [ ] I have commented my code, particularly in hard-to-understand areas.
28+
- [ ] My changes generate no new warnings or errors.
29+
- [ ] I have updated the documentation (README/Docs) accordingly.
30+
31+
---
32+
Built with ❤️ for **urBackend**.

‎.github/workflows/ci.yml‎

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: CI (Continuous Integration)
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
9+
jobs:
10+
backend-tests:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
- name: Setup Node.js
15+
uses: actions/setup-node@v4
16+
with:
17+
node-version: '20'
18+
cache: 'npm'
19+
cache-dependency-path: backend/package-lock.json
20+
21+
- name: Install Dependencies
22+
run: cd backend && npm install
23+
24+
- name: Run Jest Tests
25+
run: cd backend && npm test
26+
env:
27+
MONGO_URL: ${{ secrets.MONGO_URL_TEST }} # Mock or Test DB
28+
JWT_SECRET: ${{ secrets.JWT_SECRET }}
29+
30+
frontend-lint:
31+
runs-on: ubuntu-latest
32+
steps:
33+
- uses: actions/checkout@v4
34+
- name: Setup Node.js
35+
uses: actions/setup-node@v4
36+
with:
37+
node-version: '20'
38+
cache: 'npm'
39+
cache-dependency-path: frontend/package-lock.json
40+
41+
- name: Install Dependencies
42+
run: cd frontend && npm install
43+
44+
- name: Run Linting
45+
run: cd frontend && npm run lint

‎CODE_OF_CONDUCT.md‎

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
We as members, contributors, and leaders pledge to make participation in our
6+
community a harassment-free experience for everyone, regardless of age, body
7+
size, visible or invisible disability, ethnicity, sex characteristics, gender
8+
identity and expression, level of experience, education, socio-economic status,
9+
nationality, personal appearance, race, caste, color, religion, or sexual identity
10+
and orientation.
11+
12+
We pledge to act and interact in ways that contribute to an open, welcoming,
13+
diverse, inclusive, and healthy community.
14+
15+
## Our Standards
16+
17+
Examples of behavior that contributes to a positive environment for our
18+
community include:
19+
20+
* Demonstrating empathy and kindness toward other people
21+
* Being respectful of differing opinions, viewpoints, and experiences
22+
* Giving and gracefully accepting constructive feedback
23+
* Accepting responsibility and apologizing to those affected by our mistakes,
24+
and learning from the experience
25+
* Focusing on what is best not just for us as individuals, but for the
26+
overall community
27+
28+
Examples of unacceptable behavior include:
29+
30+
* The use of sexualized language or imagery, and sexual attention or
31+
advances of any kind
32+
* Trolling, insulting or derogatory comments, and personal or political attacks
33+
* Public or private harassment
34+
* Publishing others' private information, such as a physical or email
35+
address, without their explicit permission
36+
* Other conduct which could reasonably be considered inappropriate in a
37+
professional setting
38+
39+
## Enforcement Responsibilities
40+
41+
Community leaders are responsible for clarifying and enforcing our standards of
42+
acceptable behavior and will take appropriate and fair corrective action in
43+
response to any behavior that they deem inappropriate, threatening, offensive,
44+
or harmful.
45+
46+
Community leaders have the right and responsibility to remove, edit, or reject
47+
comments, commits, code, wiki edits, issues, and other contributions that are
48+
not aligned to this Code of Conduct, and will communicate reasons for moderation
49+
decisions when appropriate.
50+
51+
## Scope
52+
53+
This Code of Conduct applies within all community spaces, and also applies when
54+
an individual is officially representing the community in public spaces.
55+
Examples of representing our community include using an official e-mail address,
56+
posting via an official social media account, or acting as an appointed
57+
representative at an online or offline event.
58+
59+
## Enforcement
60+
61+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
62+
reported to the community leaders responsible for enforcement at yashpouranik124@gmail.com.
63+
64+
All complaints will be reviewed and investigated promptly and fairly.
65+
66+
All community leaders are obligated to respect the privacy and security of the
67+
reporter of any incident.
68+
69+
Project maintainers who do not follow or enforce the Code of Conduct in good
70+
faith may face temporary or permanent repercussions as determined by other
71+
members of the project's leadership.
72+
73+
## Attribution
74+
75+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
76+
version 2.1, available at
77+
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].

‎LICENSE.md‎

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2026 Yash Pouranik
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

‎README.md‎

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
![Build Status](https://img.shields.io/github/actions/workflow/status/yash-pouranik/urbackend/ci.yml?branch=main)
2+
![License](https://img.shields.io/github/license/yash-pouranik/urbackend)
3+
![Issues](https://img.shields.io/github/issues/yash-pouranik/urbackend)
4+
![Stars](https://img.shields.io/github/stars/yash-pouranik/urbackend)
5+
16
# urBackend 🚀
27

38
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.
@@ -194,4 +199,16 @@ We welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for deta
194199

195200
---
196201

197-
Built with ❤️ by **Yash Pouranik**
202+
## 🗺️ Roadmap & Upcoming Features
203+
204+
UrBackend is just getting started. Here’s what’s on the horizon:
205+
- [ ] **MongoDB**: Apis for more complex queries on dashboard + for urbackend.
206+
- [ ] **Webhooks**: Notify your frontend on database changes.
207+
- [ ] **PostgreSQL Support**: Expand beyond MongoDB (Very tough but we will build together with the community ❤️).
208+
- [ ] **Plug-and-Play UI Components**: React components for login/signup.
209+
- [ ] **Advanced Logs**: Detailed API request tracing.
210+
- [ ] **Role-Based Access Control (RBAC)**: Fine-grained permissions.
211+
212+
Want to see a feature? [Open an issue!](https://github.com/yash-pouranik/urbackend/issues)
213+
214+
Built with ❤️ for **urbackend**

‎SECURITY.md‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Security Policy
2+
3+
## Supported Versions
4+
Only the latest version of urBackend is currently supported for security updates.
5+
6+
## Reporting a Vulnerability
7+
**Please do not report security vulnerabilities through public GitHub issues.**
8+
9+
If you discover a security vulnerability within urBackend, please send an email to [yashpouranik124@gmail.com] or open a private advisory on GitHub. We will acknowledge your report within 48 hours and provide a timeline for a fix.

‎backend/.env.example‎

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Server Configuration
2+
PORT=1234
3+
NODE_ENV=development
4+
5+
# Database
6+
MONGO_URL=mongodb://localhost:27017/urbackend
7+
8+
# Authentication
9+
JWT_SECRET=your_super_secret_jwt_key
10+
ENCRYPTION_KEY=32_character_long_string_for_db_creds
11+
API_KEY_SALT=your_api_key_salt
12+
13+
# Third-party Services (Storage & Email)
14+
SUPABASE_URL=https://your-project.supabase.co
15+
SUPABASE_KEY=your-supabase-anon-key
16+
RESEND_API_KEY=re_your_resend_api_key
17+
18+
# Optional: For Email verification flow
19+
EMAIL_FROM=onboarding@resend.dev
20+
21+
FRONTEND_URL=http://localhost:5173

‎backend/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"test": "cross-env NODE_ENV=test jest --testTimeout=10000"
99
},
1010
"author": "",
11-
"license": "ISC",
11+
"license": "MIT",
1212
"dependencies": {
1313
"@supabase/supabase-js": "^2.84.0",
1414
"bcryptjs": "^3.0.2",

‎frontend/.env.example‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Backend API URL
2+
VITE_API_URL=http://localhost:1234

‎frontend/.gitignore‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ dist
1212
dist-ssr
1313
*.local
1414
.env
15+
.env.local
16+
.env.*.local
1517

1618
# Editor directories and files
1719
.vscode/*

0 commit comments

Comments
 (0)