Synaplan
기업을 위한 오픈소스 AI 플랫폼
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Final project — Internet Technologies (Fullstack) course — Caroline Genzel
Live site: basis-app-sigma.vercel.app
Basis is a leverage platform for small business owners and freelancers of any kind - bakers, nail artists, photographers, trainers, and so on. A small business owner is usually very good at their craft, but weak on marketing, pricing, and professional paperwork. The app takes minimal input from them (a short questionnaire, filled out once) and turns it into professional deliverables: marketing content, a data-driven price recommendation, price quotes as PDF files, and a public business page that can be sent to clients.
/p/[slug]) with a photo, free text, and
downloadable documents - accessible without logging inTESTING.md)TESTING.md)npm install
Create a new project at supabase.com.
In the Supabase dashboard, under SQL Editor, run the following files, in this exact order (each one depends on the ones before it):
supabase/schema.sql
supabase/fix_grants.sql
supabase/add_quote_title.sql
supabase/add_fit_assessment.sql
supabase/add_profile_media.sql
supabase/fix_profile_view.sql
supabase/update_pricing_real_data.sql
supabase/add_public_branding_text.sql
supabase/add_indexes.sql
supabase/fix_public_access.sql
supabase/any_business_ai.sql
Under Settings → API, copy the Project URL, the anon public key, and the service_role key (secret - never expose it).
cp .env.local.example .env.local
Fill in the three values from step 2, plus an Anthropic API key (from platform.claude.com) for the AI market search and branding ideas:
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
SUPABASE_SERVICE_ROLE_KEY=
ANTHROPIC_API_KEY=
.env.local is already in .gitignore - never commit real values in it.
npm run dev
Open http://localhost:3000. To try the full flow: sign up, then go through onboarding → fit assessment → dashboard → pricing advisor / branding / quotes / public page.
npm test # single run
npm run test:watch # watch mode
One-time setup, both steps:
npx playwright install chromium
Then run supabase/grant_service_role_for_tests.sql once in the Supabase
SQL Editor - the test helpers seed data directly through the service_role
admin client, which has no table access until it's explicitly granted one.
Not needed to run the app itself, only the e2e tests.
npm run test:e2e
For full details on what's tested, why, and what's intentionally out of
scope (for both the unit and end-to-end suites), see TESTING.md.
npm run lint
Push the code to GitHub, then import it as a New Project on Vercel.
Add the same four environment variables from step 3 under Settings → Environment Variables in the Vercel project.
Deploy - Vercel builds and redeploys automatically on every push.
Final, critical step: in Supabase, under Authentication → URL Configuration, set:
https://the-app.vercel.app)/** at the endWithout this step, sign-up/login on the live site won't work - Supabase Auth will reject the redirect because it doesn't recognize the domain.
app/
(public)/ Pages that don't require login: landing, login,
sign-up, and the public business page /p/[slug]
(private)/ Protected pages: onboarding, fit-assessment, dashboard,
branding, pricing-advisor, quotes, public-profile
api/quotes/[id]/pdf/ The only API Route - generates and returns a PDF
file
components/
forms/ All form components (Client Components)
ui/ Small, reusable UI components
layout/ Navbar
lib/
actions/ Server Actions - every write action goes through them
validations/ Zod schemas - the same schemas used client- and
server-side
templates/ Branding questions, tones and idea categories
ai/ Claude calls - market price search and branding ideas
pricing/ Saves the market search results as pricing options
fit-assessment/ Questionnaire questions and scoring logic
pdf/ The PDF document and the Hebrew bidi-text fix
supabase/ Client creation (browser, server, admin)
supabase/
schema.sql and migration files - run manually in the Supabase SQL
Editor
proxy.ts Runs before every request - refreshes the auth cookie
(the Next.js 16 equivalent of middleware.ts)