career-job
6156 file ยท 433.2 MB
README
๐ CareerJob
AI-Powered Career Development Platform - The ultimate career companion with 70+ features, AI assistance, job tracking, resume building, interview prep, and comprehensive career tools.
๐ Platform Statistics
| Metric | Count |
|---|---|
| Career Components | 63 |
| Career Paths | 50 |
| Documented Positions | 300 |
| C-Level Roles | 50 |
| Git Commits | 240+ |
| Documentation Files | 50+ |
| Total Pages | 100+ |
โจ Features
๐ค AI Career Tools
- AI Chat Assistant - Get career advice with streaming responses
- Career Copilot - Auth-gated DeepSeek V4 Pro assistant with site context
- Model-safe AI Runtime - DeepSeek legacy aliases normalize to
deepseek-v4-proand surface through response headers/UI - Resume Analyzer - AI-powered resume feedback
- Cover Letter Generator - Generate personalized cover letters
- Interview Prep - Practice with AI-generated questions & STAR answers
- Smart Job Matching - Match your profile with job descriptions
- Voice Input - Speak to the AI assistant
๐ Job Application Tracker
- Track applications with status pipeline
- Direct edit, autosave, full form, CSV export, and Supabase-ready sync
- Company research database
- Salary insights and comparisons
- Interview scheduling
- Document attachments
๐ Job Platform Directory
- Curated job platforms for Indonesia/SEA, US market, remote global, freelance, startup, executive, impact, academia, and product/design
- Search and filter by category, market, tags, platform priority, fit score, cadence, and access model
- Integrated into Career Copilot knowledge context for conversational platform recommendations
๐ Real-time Features
- Live notifications
- WebSocket chat
- Typing indicators
- Presence tracking
๐ฑ PWA
- Install as mobile app
- Offline support
- Push notifications ready
๐ ๏ธ Tech Stack
- Framework: Next.js 16 + React 19
- Language: TypeScript
- Styling: Tailwind CSS 4
- UI Components: shadcn/ui
- Database: Supabase (PostgreSQL)
- Auth: Supabase Auth
- AI: DeepSeek API primary, Moonshot/Kimi fallback
- Testing: Vitest + Playwright
- Deployment: Vercel
๐ Getting Started
Prerequisites
- Node.js 22+
- npm or yarn
- Supabase account
- DeepSeek API key
Installation
- Clone the repository:
git clone https://github.com/subkhanibnuaji/career-job.git
cd career-job
- Install dependencies:
npm install
- Set up environment variables:
cp .env.local.example .env.local
Edit .env.local:
# Supabase
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
# AI
DEEPSEEK_API_KEY=your-deepseek-api-key
DEEPSEEK_BASE_URL=https://api.deepseek.com
DEEPSEEK_MODEL=deepseek-v4-pro
AI_CHAT_MODEL=deepseek-v4-pro
# Optional fallback
KIMI_API_KEY=your-kimi-api-key
KIMI_BASE_URL=https://api.moonshot.cn/v1
# App
NEXT_PUBLIC_APP_URL=http://localhost:3000
AI_CHAT_MODEL is the preferred production override. Legacy DeepSeek aliases such as deepseek-chat, deepseek-reasoner, or DeepSeek V3 labels are normalized to deepseek-v4-pro so Career Copilot does not drift to older model names.
- Set up database:
- Go to Supabase Dashboard
- Create a new project
- Run migrations from
supabase/migrations/
- Run development server:
npm run dev
๐ Data Policy
Data Labeling System
All data in this platform follows a strict labeling policy:
| Badge | Meaning | Usage |
|---|---|---|
| ๐ Data Real | Data from actual surveys or user input | HRDBacot SalSur 3.0 (9,532 respondents), user profile |
| ๐ฎ Estimasi | Calculated estimates based on real data | Salary projections, market ranges |
| โ Mock Data | Prohibited โ removed from platform | Previously used for demo purposes |
Data Sources
- Salary Data: HRDBacot Salary Survey 3.0 โ 9,532 valid responses
- User Profile: Real data from
src/data/user-profile.ts - Platform Stats: Real analytics from career-job.vercel.app
Rules
- ๐ซ Mock data is strictly prohibited
- ๐ All data must have a clear source
- ๐ฎ Estimates must be clearly labeled as such
- ๐ Use
src/data/career-data.tsas single source of truth
๐ Project Structure
career-job/
โโโ src/
โ โโโ app/ # Next.js App Router
โ โ โโโ (app)/ # Main app routes
โ โ โโโ (auth)/ # Auth routes
โ โ โโโ api/ # API routes
โ โโโ components/ # React components
โ โโโ lib/ # Utilities
โ โ โโโ ai/ # AI integration
โ โ โโโ auth/ # Auth hooks
โ โ โโโ supabase/ # Supabase clients
โ โ โโโ security/ # Security utils
โ โ โโโ validation/ # Zod schemas
โ โโโ data/ # Static data
โโโ supabase/
โ โโโ migrations/ # Database migrations
โโโ .github/
โ โโโ workflows/ # GitHub Actions
โโโ public/ # Static assets
๐งช Testing
# Unit tests
npm run test
# E2E tests
npm run e2e
# Test coverage
npm run test:coverage
๐ Documentation
- Getting Started - Onboarding guide
- Features - Platform features overview
- About - Our story & mission
- Help Center - FAQs & support
- Pricing - Plans & pricing
- Contact - Get in touch
- Status - System status
- Careers - Join our team
- Testimonials - Success stories
- Blog - Career insights
- Partners - Partnership opportunities
- Newsletter - Subscribe for updates
- Resources Hub - Ebooks, videos, templates
- Community - Join 10K+ members
- API Docs - Developer documentation
- Roadmap - Future plans & features
- Press - Media & press kit
- Tools - Recommended career tools
- Glossary - Career terminology
- Privacy - Privacy policy
- Terms - Terms of service
- Security - Security center
- Accessibility - Accessibility statement
- Search - Universal search
- Platform Stats - Analytics & metrics
- API Documentation - API endpoints and usage
- Architecture - Technical architecture
- Contributing - Contribution guidelines
- Component Showcase - Browse all 63+ components
- Sitemap - Navigate all 100+ pages
- Changelog - Version history
- FAQ - Frequently asked questions
๐ Changelog Workflow
Every user-visible product change must be recorded in two places:
CHANGELOG.mdfor repository history, deployment notes, verification, and security notes./changelog(src/app/[locale]/(app)/changelog/page.tsx) for the in-app release timeline.
For each release, include the date, feature summary, changed behavior, security implications, verification commands, and deployment status. Keep this workflow updated whenever a major page, AI behavior, tracker workflow, data catalog, or production config changes.
๐ Deployment
Vercel (Recommended)
- Push to GitHub
- Import project on Vercel
- Add environment variables
- Deploy!
Manual
# Build
npm run build
# Start production server
npm start
๐ Security
- Rate limiting on all API routes
- Row Level Security (RLS) on database
- Content Security Policy (CSP)
- XSS protection
- CSRF protection
- Input validation with Zod
- Audit logging
๐ฏ Roadmap
- Job scraping integration
- Email notifications
- Calendar integration
- Admin dashboard
- Mobile app (React Native)
- Advanced analytics
๐ค Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Acknowledgments
- shadcn/ui for beautiful components
- Supabase for backend infrastructure
- DeepSeek for primary AI capabilities
- Moonshot AI for fallback AI support
- Vercel for hosting
Built with โค๏ธ by Ibnu Aji
File Utama
- .deploy-trigger
- .dockerignore
- .env.example
- .env.local.example
- .env.production.example
- .gitignore
- .node-version
- .nojekyll