Synaplan
기업을 위한 오픈소스 AI 플랫폼
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
Marketing web site for JobsOxo
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Marketing site for JobsOxo: landing page, /privacy, /terms, and a waitlist endpoint. This repo is separate from the JobsOxo app.
POST /api/waitlist is the only serverless function.waitlist table); a confirmation email goes out through Resend.G-64Z1WC2M9S, loaded only after cookie consent; production builds only). Each signup sends Plausible waitlist_submit and GA4 sign_up, both with trade and crew.npm install
cp .env.example .env # fill in values to test the waitlist end to end
npm run dev # http://localhost:4321
npm run build # type-check + build
src/pages/index.astro landing page (sections below, in order)
src/components/ Nav, Hero, Problem, Features, BuiltInTheTrade,
NothingElse, Waitlist, Questions, Footer
src/pages/privacy.astro legal pages (share src/layouts/Legal.astro)
src/pages/terms.astro
src/pages/api/waitlist.ts POST endpoint: validate → Supabase → Resend
src/lib/waitlist.ts email regex, trades, crew sizes (shared client/server)
src/styles/global.css design tokens (light; dark ready via data-theme="dark")
supabase/config.toml Supabase CLI config
supabase/migrations/ database schema changes, applied in filename order
public/ logo, favicons, app screenshots
Schema changes live in supabase/migrations/. Never edit a migration that has already run; add a new one instead:
npx supabase migration new add_phone_column # creates supabase/migrations/<timestamp>_add_phone_column.sql
Write the SQL in the new file, then commit and push. With the Supabase GitHub integration connected (working directory .), migrations are applied to production when they land on main. Without the integration, apply them yourself:
npx supabase login
npx supabase link --project-ref fpgrgfhfcflwlxtjzuin
npx supabase db push
public/ and pass src to the <Photo> in Hero.astro and BuiltInTheTrade.astro.[bracketed] items (effective date, mailing address, notice period) in privacy.astro and terms.astro, then get a legal review.<Hero layout="app" /> in index.astro swaps the photo for the dashboard screenshot.POST /api/waitlist with { name, email, trade, crew, source } returns { ok: true } or { ok: false, error }.
ok: true without inserting again, so the response doesn't reveal who's already on the list.company honeypot field silently drops bot submissions.WAITLIST_NOTIFY_EMAIL is set, each new signup also sends a notification to that address.