Skip to content

Commit 2da1d18

Browse files
Merge branch 'main' into reverent-mendeleev
2 parents b03c6ab + e131b16 commit 2da1d18

18 files changed

Lines changed: 1152 additions & 653 deletions

File tree

.editorconfig

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# EditorConfig is awesome: https://EditorConfig.org
2+
3+
# top-most EditorConfig file
4+
root = true
5+
6+
# Default settings for all files
7+
[*]
8+
indent_style = space
9+
indent_size = 2
10+
end_of_line = lf
11+
charset = utf-8
12+
trim_trailing_whitespace = true
13+
insert_final_newline = true
14+
15+
# Markdown files
16+
[*.md]
17+
trim_trailing_whitespace = false
18+
19+
# JSON files
20+
[*.json]
21+
indent_size = 2
22+
23+
# YAML files
24+
[*.{yml,yaml}]
25+
indent_size = 2
26+
27+
# TypeScript/JavaScript files
28+
[*.{ts,tsx,js,jsx}]
29+
indent_size = 2
30+
31+
# CSS files
32+
[*.css]
33+
indent_size = 2
34+
35+

.env.example

Lines changed: 50 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,51 @@
1+
# =============================================================================
2+
# Dev Weekends Web Platform - Environment Variables
3+
# =============================================================================
4+
# Copy this file to `.env.local` and fill in your values.
5+
# Never commit your `.env.local` file to version control!
6+
# =============================================================================
7+
8+
# -----------------------------------------------------------------------------
9+
# Database Configuration
10+
# -----------------------------------------------------------------------------
11+
# MongoDB connection string (required)
12+
# For local development: mongodb://localhost:27017/devweekends
13+
# For MongoDB Atlas: mongodb+srv://<username>:<password>@<cluster>.mongodb.net/<database>
14+
MONGODB_URI=
15+
16+
# -----------------------------------------------------------------------------
17+
# Authentication & Security
18+
# -----------------------------------------------------------------------------
19+
# JWT secret for token signing (required)
20+
# Generate a secure random string: openssl rand -base64 32
21+
JWT_SECRET=
22+
23+
# Access codes for different user roles (required)
24+
# These are used for initial authentication before login
25+
# Use strong, unique values in production
26+
ADMIN_ACCESS_CODE=
27+
MENTOR_ACCESS_CODE=
28+
AMBASSADOR_ACCESS_CODE=
29+
30+
# -----------------------------------------------------------------------------
31+
# Third-Party Services
32+
# -----------------------------------------------------------------------------
33+
34+
# Google Analytics (optional)
35+
# Get your measurement ID from Google Analytics
136
NEXT_PUBLIC_GA_ID=
2-
CLOUDINARY_CLOUD_NAME=
3-
CLOUDINARY_API_KEY=
4-
CLOUDINARY_API_SECRET=
5-
JWT_SECRET=
6-
NODE_ENV=production
7-
ADMIN_ACCESS_CODE=devweekends
8-
MENTOR_ACCESS_CODE=devweekends
9-
AMBASSADOR_ACCESS_CODE=devweekends
10-
MONGODB_URI=
37+
38+
# Cloudinary for image uploads (optional, required for media features)
39+
# Get these from your Cloudinary dashboard: https://cloudinary.com/console
40+
CLOUDINARY_CLOUD_NAME=
41+
CLOUDINARY_API_KEY=
42+
CLOUDINARY_API_SECRET=
43+
44+
# -----------------------------------------------------------------------------
45+
# Application Settings
46+
# -----------------------------------------------------------------------------
47+
# Node environment: development, production, or test
48+
NODE_ENV=development
49+
50+
# Base URL for the application (used for redirects and links)
51+
# NEXT_PUBLIC_BASE_URL=http://localhost:3000

.github/CODEOWNERS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
* @junaiddshaukat @ZeeshanAdilButt
2+
3+

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
2-
name: Bug report
3-
about: Create a report to help us improve
4-
title: ''
5-
labels: ''
2+
name: Bug Report
3+
about: Report a bug to help us improve
4+
title: '[BUG] '
5+
labels: bug
66
assignees: ''
77

88
---

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Community Support
4+
url: https://linktr.ee/DevWeekends
5+
about: Join our community for general questions and discussions
6+
- name: Documentation
7+
url: https://github.com/devweekends/web-platform#readme
8+
about: Check our documentation for setup and usage guides
9+
10+
Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
---
2-
name: Feature request
3-
about: Suggest an idea for this project
4-
title: ''
5-
labels: ''
2+
name: Feature Request
3+
about: Suggest a new feature or enhancement for the Dev Weekends platform
4+
title: '[FEATURE] '
5+
labels: enhancement
66
assignees: ''
77

88
---
99

10+
## Feature Description
11+
1012
**Is your feature request related to a problem? Please describe.**
1113
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
1214

@@ -16,5 +18,20 @@ A clear and concise description of what you want to happen.
1618
**Describe alternatives you've considered**
1719
A clear and concise description of any alternative solutions or features you've considered.
1820

21+
## Additional Information
22+
23+
**Which part of the platform would this affect?**
24+
- [ ] Public website (home, sessions, mentors, etc.)
25+
- [ ] Admin dashboard
26+
- [ ] Mentor portal
27+
- [ ] Ambassador portal
28+
- [ ] API
29+
- [ ] Other (please specify)
30+
31+
**Would you be willing to work on this feature?**
32+
- [ ] Yes, I'd like to implement this
33+
- [ ] Yes, with guidance from maintainers
34+
- [ ] No, but I'd like to see it implemented
35+
1936
**Additional context**
20-
Add any other context or screenshots about the feature request here.
37+
Add any other context, mockups, or screenshots about the feature request here.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
## Description
2+
3+
<!-- Provide a brief description of the changes in this PR -->
4+
5+
## Related Issue
6+
7+
<!-- Link to the issue this PR addresses. Use "Fixes #123" or "Closes #123" to auto-close the issue -->
8+
9+
Fixes #
10+
11+
## Type of Change
12+
13+
<!-- Mark the appropriate option with an "x" -->
14+
15+
- [ ] 🐛 Bug fix (non-breaking change that fixes an issue)
16+
- [ ] ✨ New feature (non-breaking change that adds functionality)
17+
- [ ] 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
18+
- [ ] 📝 Documentation update
19+
- [ ] 🎨 Style/UI update
20+
- [ ] ♻️ Code refactor (no functional changes)
21+
- [ ] ⚡ Performance improvement
22+
- [ ] 🔧 Configuration change
23+
- [ ] 🧪 Test update
24+
25+
## Changes Made
26+
27+
<!-- List the main changes made in this PR -->
28+
29+
-
30+
-
31+
-
32+
33+
## Screenshots / Videos
34+
35+
<!-- If applicable, add screenshots or videos to demonstrate the changes -->
36+
37+
| Before | After |
38+
| ------ | ----- |
39+
| | |
40+
41+
## Testing
42+
43+
<!-- Describe how you tested your changes -->
44+
45+
### Test Environment
46+
47+
- **OS**:
48+
- **Browser**:
49+
- **Node.js Version**:
50+
51+
### Test Steps
52+
53+
1.
54+
2.
55+
3.
56+
57+
## Checklist
58+
59+
<!-- Mark completed items with an "x" -->
60+
61+
### Code Quality
62+
- [ ] My code follows the project's coding style and conventions
63+
- [ ] I have performed a self-review of my code
64+
- [ ] I have commented my code, particularly in hard-to-understand areas
65+
- [ ] My changes generate no new warnings or errors
66+
67+
### Testing
68+
- [ ] I have tested my changes locally
69+
- [ ] Existing tests pass with my changes
70+
- [ ] I have added tests for new functionality (if applicable)
71+
72+
### Documentation
73+
- [ ] I have updated the documentation accordingly (if applicable)
74+
- [ ] I have updated the README if needed
75+
76+
### Build & Lint
77+
- [ ] `npm run build` completes successfully
78+
- [ ] `npm run lint` passes without errors
79+
80+
### Security
81+
- [ ] No sensitive data (API keys, passwords, etc.) is committed
82+
- [ ] Security implications have been considered
83+
84+
## Additional Notes
85+
86+
<!-- Add any additional notes for reviewers -->
87+
88+
---
89+
90+
**By submitting this pull request, I confirm that my contribution is made under the terms of the project's license.**
91+
92+

.github/workflows/ci.yml

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
lint-and-build:
11+
name: Lint & Build
12+
runs-on: ubuntu-latest
13+
14+
strategy:
15+
matrix:
16+
node-version: [20.x]
17+
18+
steps:
19+
- name: Checkout repository
20+
uses: actions/checkout@v4
21+
22+
- name: Setup Node.js ${{ matrix.node-version }}
23+
uses: actions/setup-node@v4
24+
with:
25+
node-version: ${{ matrix.node-version }}
26+
cache: 'npm'
27+
28+
- name: Install dependencies
29+
run: npm ci
30+
31+
- name: Run linting
32+
run: npm run lint
33+
34+
- name: Build application
35+
run: npm run build
36+
env:
37+
# Provide minimal env vars for build to succeed
38+
MONGODB_URI: mongodb://localhost:27017/test
39+
JWT_SECRET: test-secret-for-ci
40+
ADMIN_ACCESS_CODE: test
41+
MENTOR_ACCESS_CODE: test
42+
AMBASSADOR_ACCESS_CODE: test
43+
44+
pr-title:
45+
name: PR Title Check
46+
runs-on: ubuntu-latest
47+
if: github.event_name == 'pull_request'
48+
# NOTE: This only validates PR title format, does NOT auto-merge.
49+
# All PRs require manual review and approval by maintainers.
50+
51+
steps:
52+
- name: Check PR title format
53+
uses: amannn/action-semantic-pull-request@v5
54+
env:
55+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
56+
with:
57+
types: |
58+
feat
59+
fix
60+
docs
61+
style
62+
refactor
63+
perf
64+
test
65+
chore
66+
ci
67+
requireScope: false
68+
subjectPattern: ^.+$
69+
subjectPatternError: |
70+
The subject "{subject}" doesn't match the expected format.
71+
Please use a descriptive subject line.
72+
73+

.gitignore

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,3 +128,36 @@ dist
128128
.yarn/build-state.yml
129129
.yarn/install-state.gz
130130
.pnp.*
131+
132+
# IDE and Editor files
133+
.idea/
134+
*.swp
135+
*.swo
136+
*~
137+
.vscode/
138+
!.vscode/extensions.json
139+
!.vscode/settings.json.example
140+
141+
# OS files
142+
.DS_Store
143+
Thumbs.db
144+
145+
# Debug logs
146+
debug.log
147+
148+
# Local Netlify folder
149+
.netlify
150+
151+
# Vercel
152+
.vercel
153+
154+
# Turbopack
155+
.turbo
156+
157+
# Testing
158+
coverage/
159+
.nyc_output/
160+
161+
# Misc
162+
*.pem
163+
.env*.local

0 commit comments

Comments
 (0)