Synaplan
기업을 위한 오픈소스 AI 플랫폼
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A private web app that tracks every enquiry from new query → supplier mail → quote → follow-up → booking → payments → travel → completed. It works on Mac, Windows, iPad and phone in any browser, with no installation.
It is built the same way as your Cash Management System (Next.js + Supabase/PostgreSQL + Vercel), but it is a separate site with its own database and its own password.
| Area | What you get |
|---|---|
| Dashboard | 10 stage cards (+ Lost) with counts, open enquiries, new and confirmed this month, conversion %, client balances due, follow-ups due, suppliers keeping you waiting (24 hrs+), departures in the next 30 days, who is travelling now, enquiries vs bookings chart, lead sources, recent activity |
| Pipeline | Kanban board – one column per stage, one card per enquiry, with a "Move to next stage" button |
| New enquiry | Quick add: paste the client's message (e.g. Thailand / 1 dec to 6 Dec / 2 adults / 2N Krabi, 3N Phuket) and press Fill the form. It fills destination, dates, travellers, nights split, hotel category, budget, package and inclusions. It also captures lead source, priority, hotel category, budget, the Tour / Land package (hotel + transfers + full sightseeing) option, inclusions and the follow-up date |
| Enquiry page | Progress stepper with a "next step" hint, trip details, suppliers & quotes side by side (with Gmail / WhatsApp / Copy buttons that open a ready-made standard rate request), your selling price vs the selected supplier's cost = margin, share quote and itinerary link (Canva), confirm booking, client payments with balance due, follow-up, a log for calls and WhatsApps, and a full timeline |
| Follow-ups | Overdue / today / next 7 days / open enquiries with no follow-up. One-tap WhatsApp follow-up or payment-reminder message, and "Done → next date" |
| Suppliers | Your DMCs and hotels with email, WhatsApp, destinations covered, response rate and the enquiries sent to each |
| Reports | Pipeline by stage, lead sources & conversion, destinations (with margin), monthly enquiries vs bookings, lost reasons, client balances due, supplier response times, and the full enquiry register. All export to Excel/CSV or print/PDF |
| Settings | Change password, signed-in devices, full backup download, deleted-enquiry trash with restore, audit trail |
| When you… | The stage becomes |
|---|---|
| record a rate request to a supplier | Supplier mail sent |
| enter a supplier's quoted price | Quote received |
| save your selling price / itinerary as shared | Quote / itinerary shared (and a follow-up is set for 2 days later) |
| log a call / WhatsApp / email with the client after the quote | Follow-up |
| press Confirm booking | Booking confirmed |
| record an advance | Advance received |
| record the final payment (or payments reach the full price) | Final payment received |
| the travel start date arrives | Travelling |
| the travel end date passes | Travel completed |
Stages only move forward automatically. If you delete a payment, the stage steps back to match. A Lost enquiry is never revived automatically; pressing Confirm booking reopens it. You can always correct a stage yourself with Change stage.
You've done this once already for the cash system; these are the same steps with new names.
skyroad-crm, choose region Mumbai (ap-south-1), and set a strong database password (save it in your password manager).db/migrations/001_init.sql and press Run. You should see "Success". It is safe to run again.[YOUR-PASSWORD] with your database password. This is your DATABASE_URL.skyroad-crm → Private → Create.skyroad-crm folder: app, components, db, lib, public, scripts, tests and the files package.json, tsconfig.json, next.config.mjs, vercel.json, README.md, .gitignore, .env.example → Commit changes.skyroad-crm.| Name | Value |
|---|---|
DATABASE_URL | the pooler URI from Step 1 |
SETUP_TOKEN | any long random text, e.g. skyroad-crm-setup-8h3k29dk3 |
crm.skyroadholidays.comcrm.skyroadholidays.com.CNAME, Name crm, Value the copied value. Don't touch any other records.Open https://crm.skyroadholidays.com. You'll see Set your password. Type the SETUP_TOKEN value and your new password (8+ characters). The username is Skyroadholidays. You can change the password any time in Settings.
Check:
https://crm.skyroadholidays.com/api/healthshould say"status":"ok".
Add your suppliers once (Suppliers → Add a supplier) with email, WhatsApp and the destinations they cover. That is what makes the one-click requests work.
Tip: on your phone, open the site and choose Share → Add to Home Screen to get an app icon.
crm schema with row-level security on and public API access revoked.On your computer, in the project folder, with DATABASE_URL in .env.local: npm install then npm run set-password.
npm run dev runs locally (put DATABASE_URL and SETUP_TOKEN in .env.local).npm run db:migrate applies migrations from the command line instead of the SQL Editor.npm test runs against a separate, empty database in TEST_DATABASE_URL: 25 database rule checks plus 21 application tests.The CRM is ready for the automated flow you described ("new q / Thailand / 1–6 Dec / 2 adults / 2N Krabi, 3N Phuket" → Canva itinerary + supplier mail + CRM update). That needs a secure connection so Claude can create and update enquiries for you, plus Gmail access to send and read supplier mail. It will be added as the next step.