Synaplan
기업을 위한 오픈소스 AI 플랫폼
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Grevya's employee portal — HRIS, Performance, Exit, Leave, Attendance, Payroll, Reimbursement, Learning, Recruit, Directory, HR Helpdesk, Declarations and an HR Admin console.
Stack: Next.js 16 (App Router) · React 19 · Tailwind CSS v4 · Supabase (Postgres, Auth, Storage, Row Level Security).
Requirements: Node 20+, Docker (OrbStack / Docker Desktop).
npm install
npm run db:start # local Supabase on ports 554xx (Studio: http://127.0.0.1:55423)
npm run seed # demo organisation (add -- --reset to wipe & reseed)
npm run dev # http://localhost:3100
Demo logins (password Grevya@123): [email protected] (HR admin), [email protected] (manager), [email protected] (employee). Every seeded employee can sign in with <firstname>@grevya.com.
npx supabase login
npx supabase link --project-ref <your-project-ref>
npx supabase db push # applies supabase/migrations/*
.env.local (see .env.example):
NEXT_PUBLIC_SUPABASE_URL=https://<ref>.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=<anon / publishable key>
SUPABASE_SERVICE_ROLE_KEY=<service role key> # server only
npm run seed) or just reference data + your first HR admin:
[email protected] ADMIN_PASSWORD='choose-one' ADMIN_NAME='Your Name' npm run seed -- --minimal
<your-url>/auth/callback to redirect URLs (used by password reset)..env.local already points at the hosted project oxhhwasktpgxwccwbypa (region ap-southeast-2) and includes SUPABASE_DB_URL, so:
npm run dev # app on http://localhost:3100 using the hosted DB
set -a; . ./.env.local; set +a
npm run db:push # apply any new migrations to the hosted DB
npm run smoke -- [email protected] # request every page as a role (dev server must be running)
The purple Gia button (bottom-right) answers HR questions: leave balance, holidays, payslips, attendance, pending requests, policies and FAQs, and where to find any page. It only reads data the signed-in person is already allowed to see.
ANTHROPIC_API_KEY to .env.local (and your host's environment) to switch on AI answers powered by Claude (claude-opus-5-5 by default; override with ASSISTANT_MODEL). Each question costs a small amount of API usage.Security is enforced in the database (Row Level Security + triggers), not just the UI:
role = 'hr_admin') see and manage everything.HR adds people in HR Admin → Employees and can create their login there. Anyone who signs up with an email that matches an employee record is linked automatically.
supabase/migrations/ schema, RLS policies, workflow triggers
scripts/seed.mts demo / minimal seed
src/proxy.ts session refresh + auth redirect
src/lib/ supabase clients, auth helpers, nav map, utils
src/components/ui/ UI kit
src/components/shell/ header, sidebar flyouts, search, notifications
src/app/(portal)/<module> one folder per module (pages, actions.ts, _components)
docs/CONVENTIONS.md coding conventions