Commit 7752e13
authored
Updated the dev-login functionality to restrict access and improved server-side rendering with authentication checks. (#834)
* feat: integrate Job Boardly RSS feed with authentication-protected job board
Add a complete job board integration that fetches jobs from Job Boardly's RSS feed and displays them behind authentication.
Features:
- RSS feed parser for Job Boardly jobs (title, company, location, type, salary, etc.)
- Protected job listing page (/jobs) - requires GitHub OAuth login
- Job detail page with full descriptions and apply links
- Search and filter functionality (by keyword, category, job type)
- VWC Alumni badge for users with course enrollments
- Links to resume translator and courses for job seekers
- API endpoint for fetching jobs programmatically
- Dev access bypass for local testing without OAuth setup
Navigation:
- Added "Jobs" link to main menu (with "new" badge)
- Added "Browse Jobs" to dashboard quick links
Technical Changes:
- Install rss-parser and xml2js packages
- Create jobboardly utility library in src/lib/
- Server-side rendering with authentication checks via NextAuth
- Fixed Next.js 15 webpack config compatibility issue (removed usedExports)
- Dev-only bypass mode for testing without GitHub OAuth credentials
Access Control:
- Production: Only Vets-Who-Code GitHub org members + admin
- Development: Any GitHub user (for testing)
- Job board pages redirect to /login if unauthenticated
* fix: restrict dev login to development environment only
- Add server-side redirect in dev-login page when not in development
- Hide dev-login buttons in production using NODE_ENV check
- Fix incorrect /dev-login links in course pages (now point to /login)
- Updated files:
- courses/index.tsx: Conditionally render dev-login button
- courses/ai-engineering.tsx: Fixed login link
- courses/data-engineering.tsx: Fixed login link
- courses/software-engineering.tsx: Fixed login link
- resume-translator.tsx: Conditionally render dev-login button
- dev-login.tsx: Added production redirect1 parent e9c2075 commit 7752e13
File tree
6 files changed
+42
-26
lines changed- src/pages
- courses
6 files changed
+42
-26
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
143 | 143 | | |
144 | 144 | | |
145 | 145 | | |
146 | | - | |
| 146 | + | |
147 | 147 | | |
148 | 148 | | |
149 | 149 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
143 | 143 | | |
144 | 144 | | |
145 | 145 | | |
146 | | - | |
| 146 | + | |
147 | 147 | | |
148 | 148 | | |
149 | 149 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
137 | 137 | | |
138 | 138 | | |
139 | 139 | | |
140 | | - | |
141 | | - | |
142 | | - | |
143 | | - | |
144 | | - | |
145 | | - | |
146 | | - | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
147 | 149 | | |
148 | 150 | | |
149 | 151 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
143 | 143 | | |
144 | 144 | | |
145 | 145 | | |
146 | | - | |
| 146 | + | |
147 | 147 | | |
148 | 148 | | |
149 | 149 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| |||
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
97 | 109 | | |
98 | | - | |
99 | | - | |
| 110 | + | |
| 111 | + | |
100 | 112 | | |
101 | 113 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
154 | 154 | | |
155 | 155 | | |
156 | 156 | | |
157 | | - | |
158 | | - | |
159 | | - | |
160 | | - | |
161 | | - | |
162 | | - | |
163 | | - | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
164 | 166 | | |
165 | 167 | | |
166 | 168 | | |
| |||
0 commit comments