Synaplan
기업을 위한 오픈소스 AI 플랫폼
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Apply karde bhai
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A private job-tracking web app shared by three members: Anni (blue), Lukky (yellow) and Rishii (red). Screens: Login, Dashboard, All Jobs, Add Job, My Applications, Analytics.
Status: Phases 1 (secure login), 2 (Google Sheets data layer) and 3 (All Jobs, Add Job, My Applications) are implemented, and the live Google connection is verified for all three members. Phases 1-4 are done and Phase 5 (deployment) is complete: production is live at https://jobsbyarillabs.vercel.app (see docs/deployment). Work proceeds one phase at a time with explicit owner approval.
npm install
cp .env.example .env.local # add GOOGLE_* values for data routes; see docs/setup/README.md
npm run dev # http://localhost:3000
Without env vars, development uses documented prototype access codes and a dev-only session secret. Production refuses to start sessions without SESSION_SECRET and fails closed without access codes.
npm run dev, npm run build, npm start, npm run lint, npm run typecheck, npm test, npm run test:e2e, npm run test:e2e:isolated (browser workflow + responsive suites on an in-memory backend), npm run sheets:test-setup (prepare a disposable test spreadsheet).
assets/ – original reference screenshots and photos (never modified)public/assets/ – browser-served copies of the profile photossrc/app – pages and route handlers; src/components; src/lib (auth, validation); src/configtests/ – unit, integration, e2eAll data comes from the Google spreadsheet; an empty sheet shows an empty state with an Add New Job button, never sample data.
GET/POST /api/jobs, GET /api/applications, PUT /api/applications/[jobId], GET /api/sheets/status. Jobs are shared; each member has an independent application status. Identity always comes from the session. Without Google configuration these routes return a safe 503; there is no sample data. Details: architecture.md.
Access codes are verified on the server only. Sessions are signed, HTTP-only cookies; identity is always taken from the validated session, never from browser-supplied names or IDs. Never commit .env* files or service-account JSON.