KembaliArsip / superapp-pro / career-job
superapp-pro

career-job

6156 file ยท 433.2 MB

Sistem informasi live โ€” career-job.vercel.appBuka di tab baru

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.

Commits Components Features Edition Security CI Vercel License: MIT

๐Ÿ“Š Platform Statistics

MetricCount
Career Components63
Career Paths50
Documented Positions300
C-Level Roles50
Git Commits240+
Documentation Files50+
Total Pages100+

โœจ 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-pro and 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

๐Ÿš€ Getting Started

Prerequisites

  • Node.js 22+
  • npm or yarn
  • Supabase account
  • DeepSeek API key

Installation

  1. Clone the repository:
git clone https://github.com/subkhanibnuaji/career-job.git
cd career-job
  1. Install dependencies:
npm install
  1. 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.

  1. Set up database:
  1. Run development server:
npm run dev

Open http://localhost:3000

๐Ÿ“Š Data Policy

Data Labeling System

All data in this platform follows a strict labeling policy:

BadgeMeaningUsage
๐Ÿ“Š Data RealData from actual surveys or user inputHRDBacot SalSur 3.0 (9,532 respondents), user profile
๐Ÿ”ฎ EstimasiCalculated estimates based on real dataSalary projections, market ranges
โŒ Mock DataProhibited โ€” removed from platformPreviously 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

  1. ๐Ÿšซ Mock data is strictly prohibited
  2. ๐Ÿ“Š All data must have a clear source
  3. ๐Ÿ”ฎ Estimates must be clearly labeled as such
  4. ๐Ÿ”„ Use src/data/career-data.ts as 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

๐Ÿ“ Changelog Workflow

Every user-visible product change must be recorded in two places:

  1. CHANGELOG.md for repository history, deployment notes, verification, and security notes.
  2. /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)

  1. Push to GitHub
  2. Import project on Vercel
  3. Add environment variables
  4. 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.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'feat: add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments


Built with โค๏ธ by Ibnu Aji

File Utama

  • .deploy-trigger
  • .dockerignore
  • .env.example
  • .env.local.example
  • .env.production.example
  • .gitignore
  • .node-version
  • .nojekyll