Skip to content

Commit e35a9c8

Browse files
authored
Merge branch 'main' into feat/friend-comparison-enhancement
2 parents 963529b + aaf71f4 commit e35a9c8

510 files changed

Lines changed: 56531 additions & 10297 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.env.example

Lines changed: 43 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,27 @@
1-
# -------------------------------------------------------
1+
# -------------------------------------------------------
22
# Supabase
33
# Project Settings → API → Project URL
4-
NEXT_PUBLIC_SUPABASE_URL=https://your-project-ref.supabase.co
4+
NEXT_PUBLIC_SUPABASE_URL=https://<project-ref>.supabase.co
55

66
# Project Settings → API → anon / public key
77
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
88

9-
# Project Settings → API → service_role secret (server-side only — never expose client-side)
9+
# ⚠️ CRITICAL SECURITY WARNING ⚠️
10+
# Project Settings → API → service_role secret (server-side only)
11+
#
12+
# This key bypasses ALL Supabase Row Level Security (RLS) policies.
13+
# An attacker with access to this key has unrestricted read/write/delete access
14+
# to every user's data in the database.
15+
#
16+
# SECURITY REQUIREMENTS:
17+
# 1. NEVER use this in client-side code (React components, browser scripts)
18+
# 2. NEVER commit this to version control
19+
# 3. NEVER expose it via environment variables with NEXT_PUBLIC_ prefix
20+
# 4. Store only in server-side .env.local (not in git)
21+
# 5. Use only in server-side API routes (@/src/app/api/*)
22+
# 6. If leaked, rotate the key immediately in Supabase dashboard
23+
#
24+
# Leaked/compromised keys → Full database compromise (all user data at risk)
1025
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
1126

1227
# -------------------------------------------------------
@@ -22,6 +37,15 @@ NEXTAUTH_URL=http://localhost:3000
2237
# Must not have a trailing slash.
2338
# NEXT_PUBLIC_APP_URL=https://devtrack-delta.vercel.app
2439

40+
# -------------------------------------------------------
41+
# CSRF Allowed Origins (optional — used by CSRF middleware to validate Origin/Referer
42+
# headers on state-changing POST/PUT/PATCH/DELETE API requests).
43+
# Comma-separated list of origins that are allowed to make cross-origin requests.
44+
# NEXTAUTH_URL and NEXT_PUBLIC_APP_URL are included automatically — you only need
45+
# to add this if you have additional allowed origins (e.g. staging, custom domains).
46+
# Example: ALLOWED_ORIGINS=https://staging.devtrack.app,https://devtrack.example.com
47+
# ALLOWED_ORIGINS=
48+
2549
# Generate with: openssl rand -base64 32
2650
NEXTAUTH_SECRET=your_nextauth_secret
2751

@@ -56,17 +80,19 @@ UPSTASH_REDIS_REST_URL=your_upstash_redis_rest_url
5680
UPSTASH_REDIS_REST_TOKEN=your_upstash_redis_rest_token
5781

5882
# -------------------------------------------------------
59-
# Anthropic Claude (optional — enables AI-generated weekly summaries in the
60-
# AI Mentor widget). Without this key the widget still works and shows
61-
# rule-based insights only.
62-
# console.anthropic.com → API Keys
83+
# Anthropic (optional — enables the "Generate Summary" button in the weekly
84+
# digest card, which produces a 2-3 sentence natural-language summary of the
85+
# user's week using claude-haiku-4-5-20251001).
86+
# Without this key the button is hidden and the rest of the widget functions
87+
# normally. Rate limited to one generation per user per 24 hours.
88+
# console.anthropic.com -> API Keys
6389
# ANTHROPIC_API_KEY=sk-ant-...
6490

6591
# -------------------------------------------------------
6692
# Groq API Key (optional — enables AI-generated weekly summaries in the
6793
# AI Mentor widget using Llama-3).
6894
# console.groq.com → API Keys
69-
GROQ_API_KEY=gsk_...
95+
GROQ_API_KEY=your_groq_api_key
7096

7197
# -------------------------------------------------------
7298
# Leaderboard Configuration
@@ -75,4 +101,12 @@ GROQ_API_KEY=gsk_...
75101
# Higher values = faster builds but more resource usage
76102
# WARNING: Do not exceed 100 without load testing — risks memory exhaustion
77103
LEADERBOARD_USER_CONCURRENCY=5
78-
104+
# -------------------------------------------------------
105+
# Cron / Scheduled-sync endpoints
106+
# Shared secret supplied by the scheduler (e.g. Vercel Cron) in every request:
107+
# Authorization: Bearer <CRON_SECRET>
108+
# Required in ALL environments - cron routes fail closed when this is absent.
109+
# Local development: set any non-empty value and pass the matching header when
110+
# calling a sync endpoint manually (e.g. curl -H "Authorization: Bearer ...").
111+
# Generate with: openssl rand -hex 32
112+
CRON_SECRET=your_cron_secret

.eslintrc.json

Lines changed: 0 additions & 3 deletions
This file was deleted.

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 0 additions & 10 deletions
This file was deleted.
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
name: Bug Report
2+
description: Report a bug to help us improve DevTrack
3+
title: "[BUG] "
4+
labels: ["bug", "needs-triage"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for reporting a bug! Please fill out the details below so we can investigate.
10+
11+
- type: textarea
12+
id: description
13+
attributes:
14+
label: Bug Description
15+
description: What happened? What did you expect instead?
16+
placeholder: "When I click X, Y happens instead of Z"
17+
validations:
18+
required: true
19+
20+
- type: textarea
21+
id: steps
22+
attributes:
23+
label: Steps to Reproduce
24+
description: How can we reproduce this bug?
25+
value: |
26+
1. Go to '...'
27+
2. Click on '...'
28+
3. See error
29+
validations:
30+
required: true
31+
32+
- type: dropdown
33+
id: area
34+
attributes:
35+
label: Affected Area
36+
description: Which part of DevTrack is affected?
37+
options:
38+
- Dashboard
39+
- Landing Page
40+
- Authentication / Sign-in
41+
- API Routes
42+
- Public Profile
43+
- Leaderboard
44+
- Collaboration Rooms
45+
- Goal Tracker
46+
- Streak System
47+
- Settings
48+
- Other
49+
validations:
50+
required: true
51+
52+
- type: textarea
53+
id: screenshots
54+
attributes:
55+
label: Screenshots
56+
description: If applicable, add screenshots to help explain the issue.
57+
validations:
58+
required: false
59+
60+
- type: input
61+
id: browser
62+
attributes:
63+
label: Browser & OS
64+
placeholder: "Chrome 126 on Windows 11"
65+
validations:
66+
required: false
67+
68+
- type: dropdown
69+
id: environment
70+
attributes:
71+
label: Environment
72+
options:
73+
- Local Development
74+
- Production (devtrack.site)
75+
- Both
76+
validations:
77+
required: false
78+
79+
- type: textarea
80+
id: additional
81+
attributes:
82+
label: Additional Context
83+
description: Any other relevant information (error logs, console output, etc.)
84+
validations:
85+
required: false

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,11 @@
1-
blank_issues_enabled: true
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Questions & Help
4+
url: https://github.com/Priyanshu-byte-coder/devtrack/discussions/categories/q-a
5+
about: Ask questions and get help from the community
6+
- name: Feature Ideas & Discussion
7+
url: https://github.com/Priyanshu-byte-coder/devtrack/discussions/categories/ideas
8+
about: Share and vote on feature ideas before creating an issue
9+
- name: Show & Tell
10+
url: https://github.com/Priyanshu-byte-coder/devtrack/discussions/categories/show-and-tell
11+
about: Share your DevTrack setup, dashboards, or cool things you built

.github/ISSUE_TEMPLATE/feature_request.md

Lines changed: 0 additions & 10 deletions
This file was deleted.
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
name: Feature Request
2+
description: Suggest a new feature or improvement for DevTrack
3+
title: "[FEAT] "
4+
labels: ["enhancement", "needs-triage"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for suggesting a feature! Help us understand what you need.
10+
11+
- type: textarea
12+
id: problem
13+
attributes:
14+
label: Problem Statement
15+
description: What problem does this feature solve? Why is it needed?
16+
placeholder: "As a user, I want to ... so that ..."
17+
validations:
18+
required: true
19+
20+
- type: textarea
21+
id: solution
22+
attributes:
23+
label: Proposed Solution
24+
description: How should this feature work? Be as specific as possible.
25+
validations:
26+
required: true
27+
28+
- type: dropdown
29+
id: area
30+
attributes:
31+
label: Feature Area
32+
description: Which part of DevTrack would this affect?
33+
options:
34+
- Dashboard
35+
- Landing Page
36+
- Authentication
37+
- API / Backend
38+
- Public Profile
39+
- Leaderboard
40+
- Collaboration Rooms
41+
- Goal Tracker
42+
- Streak System
43+
- Settings
44+
- New Feature Area
45+
validations:
46+
required: true
47+
48+
- type: textarea
49+
id: alternatives
50+
attributes:
51+
label: Alternatives Considered
52+
description: What other approaches did you consider?
53+
validations:
54+
required: false
55+
56+
- type: textarea
57+
id: acceptance
58+
attributes:
59+
label: Acceptance Criteria
60+
description: How will we know this feature is complete?
61+
value: |
62+
- [ ] ...
63+
- [ ] ...
64+
validations:
65+
required: false
66+
67+
- type: textarea
68+
id: context
69+
attributes:
70+
label: Additional Context
71+
description: Screenshots, mockups, or links to similar implementations.
72+
validations:
73+
required: false

.github/dependabot.yml

Lines changed: 32 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,39 @@
11
version: 2
2+
23
updates:
3-
- package-ecosystem: npm
4-
directory: /
4+
- package-ecosystem: "npm"
5+
directory: "/"
6+
57
schedule:
6-
interval: weekly
7-
day: monday
8+
interval: "weekly"
9+
day: "monday"
10+
811
open-pull-requests-limit: 5
12+
913
labels:
10-
- type:devops
11-
- level:beginner
14+
- "type:devops"
15+
- "level:beginner"
16+
17+
reviewers:
18+
- "Priyanshu-byte-coder"
19+
20+
groups:
21+
minor-and-patch:
22+
update-types:
23+
- "minor"
24+
- "patch"
25+
1226
ignore:
1327
- dependency-name: "*"
14-
update-types: ["version-update:semver-major"]
28+
update-types:
29+
- "version-update:semver-major"
30+
31+
- package-ecosystem: "github-actions"
32+
directory: "/"
33+
34+
schedule:
35+
interval: "weekly"
36+
day: "monday"
37+
38+
reviewers:
39+
- "Priyanshu-byte-coder"

0 commit comments

Comments
 (0)