Skip to content

Fanllylps/JOB

Repository files navigation

LokerMate AI

LokerMate AI adalah aplikasi PWA mobile-first untuk fresh graduate yang ingin menyimpan lowongan kerja, melacak status lamaran, dan membuat konten bantuan lamaran/interview menggunakan Gemini AI — tanpa login dan tanpa database.

Fitur Utama

  • Dashboard statistik loker + quick action.
  • CRUD loker (tambah, edit, detail, hapus dengan konfirmasi).
  • Cari, filter, sort loker.
  • AI Action Panel (Chat HR, follow-up, job fit analysis, interview prep, CV bullets, intro).
  • Riwayat AI (search/filter, copy, hapus, export TXT, clear all).
  • Settings profil lokal + export/import JSON + export CSV + reset data.
  • PWA ready (manifest + install hint).

Tech Stack

  • Next.js App Router
  • React
  • Tailwind CSS
  • JavaScript
  • Framer Motion
  • Lucide React
  • localStorage
  • Next.js API Route untuk Gemini REST API

Struktur Utama

  • app/ routes + app/api/gemini/route.js
  • components/ reusable UI components
  • lib/ storage abstraction, prompts, export utils, validators
  • public/manifest.json + icon placeholders

Menjalankan Lokal

npm install
npm run dev

Buka http://localhost:3000.

Build Production

npm run build
npm run start

Environment Variables

Buat .env.local:

GEMINI_API_KEY=your_gemini_api_key_here
GEMINI_MODEL=gemini-2.5-flash-lite

Gunakan .env.example sebagai template. Jangan commit file .env/.env.local.

Deploy ke Vercel

  1. Push repo ke GitHub.
  2. Import project di Vercel.
  3. Set Environment Variables di Vercel Project Settings:
    • GEMINI_API_KEY
    • GEMINI_MODEL
  4. Deploy.

PWA Install (Android)

  1. Buka web app di Chrome Android.
  2. Tap menu browser (⋮).
  3. Pilih Add to Home Screen / Install App.

Penyimpanan Data

Data disimpan lokal di browser (localStorage) menggunakan key:

  • lokermate_jobs
  • lokermate_ai_history
  • lokermate_profile
  • lokermate_settings

Disarankan rutin backup via Export JSON.

Security Notes

  • API key Gemini hanya dipakai server-side di app/api/gemini/route.js via process.env.GEMINI_API_KEY.
  • Frontend memanggil /api/gemini (bukan langsung ke Gemini).
  • Tidak ada auth/no-login pada V1.

Limitasi

  • Bergantung pada localStorage (bisa hilang jika cache/browser dibersihkan).
  • Belum ada sinkronisasi cloud.
  • Belum ada service worker custom/caching strategy lanjutan.

Pengembangan Lanjutan

  • Migrasi storage ke IndexedDB/Supabase.
  • Multi-device sync.
  • Reminder follow-up notifikasi.
  • Analytics progres lamaran.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors