Lalabase
Tickets, Doku, Zeiterfassung und Kundengespräche an einem Ort, durchsuchbar per KI. Für Softwarefirmen mit Kundenprojekten. Open Source: auf deinem eigenen Server oder in unserer Cloud in Deutschland.
Translation pending
Klientský portál Mediaspace
Translation pending
BusinessTypeScript · HTMLGitHub @ocerecords-uxOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Klientský portál Mediaspace (Next.js 14, App Router, TypeScript, Tailwind, Prisma/PostgreSQL). Veřejný web Mediaspace zůstává na Wixu — tohle je samostatná aplikace pro www.msportal.cz. Co je hotové (fáze 1, část 1)Read the full README ↗
Klientský portál Mediaspace (Next.js 14, App Router, TypeScript, Tailwind, Prisma/PostgreSQL).
Veřejný web Mediaspace zůstává na Wixu — tohle je samostatná aplikace pro www.msportal.cz.
companyId se vždy bere ze session na serveru, nikdy z URL/parametrů. Viz src/app/(portal)/layout.tsx a každou stránku v src/app/(portal)/./admin, jen pro účty s rolí ADMIN) — zakládání a úprava klientů (název, sazba za normostranu, Caflou štítek, odkaz na Drive složku) a zakládání přihlašovacích účtů klientům. Odkaz na ni najdete po přihlášení jako admin v menu vpravo nahoře.src/lib/caflou.ts má připravenou strukturu, ale tvar požadavku je potřeba doladit s reálným API klíčem.Vytaženo přímo z živého webu msportal.cz (Wix), aby portál vizuálně navazoval:
| Token | Hodnota | Použití |
|---|---|---|
brand.purple | #7B55FF | hlavní pozadí, hlavička |
brand.green | #1FDF67 | akcent, nadpisy, odkazy, tlačítka |
| Nadpisy / navigace | Inter (bold/semibold) | náhrada za Helvetica Neue z Wixu |
| Nadpisy formulářů | Jost | náhrada za Futura z Wixu |
| Popisky / běžný text | Poppins | náhrada za Avenir z Wixu |
Vše je nastavené v tailwind.config.ts a src/app/layout.tsx (Google Fonts přes next/font).
Build (npm run build) je nastavený tak, že si při každém nasazení sám spustí databázové migrace i počáteční data (prisma migrate deploy + seed) — po nahrání kódu tedy není potřeba nic spouštět z příkazové řádky.
ms-portal) a nahrajte do něj obsah složky web/ (na stránce repozitáře jde použít "uploading an existing file" — přetažením souborů v prohlížeči, terminál není potřeba).DATABASE_URL..env.example (DATABASE_URL ze Supabase, NEXTAUTH_SECRET — cokoliv náhodného a dlouhého, NEXTAUTH_URL=https://www.msportal.cz, a dále S3/SMTP/Caflou údaje) → Deploy.www.msportal.cz, Vercel vám ukáže konkrétní DNS záznamy (obvykle CNAME) → v administraci Active24 tyto záznamy nastavte místo těch, které teď vedou na Wix. Pozor: tímto krokem přestane být na msportal.cz dostupný současný Wix prototyp — nahradí ho ostrá aplikace.[email protected] / zmente-toto-heslo a hned si heslo změňte (přes Prisma Studio nebo počkejte na admin obrazovku).npm install
cp .env.example .env # a doplňte hodnoty (viz níže)
npx prisma migrate dev --name init
npm run db:seed # založí testovací admin + klientský účet
npm run dev
Otevřete http://localhost:3000 — přihlaste se jako [email protected] / zmente-toto-heslo a v menu vpravo nahoře otevřete Administrace, kde zakládáte klienty a jejich účty. Testovací klient [email protected] / zmente-toto-heslo je založený automaticky (seed).
Pro pokročilejší přímý zásah do databáze (výjimečně) lze použít i npx prisma studio.
.env / proměnných ve VerceluDATABASE_URL — PostgreSQL ze Supabase (viz výše).NEXTAUTH_SECRET — libovolný náhodný dlouhý řetězec.NEXTAUTH_URL — https://www.msportal.cz.S3_* — úložiště příloh (AWS S3 nebo Cloudflare R2 — R2 má zdarma tarif).SMTP_HOST / SMTP_PORT / SMTP_USER / SMTP_PASS — přihlášení k poště. Viditelná adresa odesílatele je napevno Mediaspace <[email protected]> v src/lib/email.ts (SMTP_FROM se od 14. 9. 2026 nepoužívá).ORDER_NOTIFICATION_EMAIL — záložní schránka pro objednávky, když nikdo v týmu nemá zaškrtnuté „Dostává objednávky".CAFLOU_API_BASE_URL / CAFLOU_API_KEY — z vašeho Caflou účtu (Nastavení → API).IMAP_* — schránka s doklady, viz níže.Faktury herců, za nájem i od dodavatelů chodí na [email protected]. Portál
se do schránky přihlásí přes IMAP, vytáhne přílohy (PDF a fotky) a z každé udělá
výdaj ve stavu Nezařazený. Účetní ho v záložce Nezařazené překontroluje,
doplní kategorii a tlačítkem Zařadit mezi výdaje pustí dál. Do součtů a do
záložek Uhrazené / Neuhrazené se počítají jen zařazené doklady.
| Proměnná | K čemu |
|---|---|
IMAP_HOST | server schránky, třeba imap.forpsi.com |
IMAP_PORT | obvykle 993 (výchozí); 143 znamená nešifrované spojení |
IMAP_USER | přihlašovací jméno, obvykle celá adresa |
IMAP_PASSWORD | heslo ke schránce |
IMAP_FOLDER | složka, výchozí INBOX |
IMAP_DNU_ZPETNE | kolik dnů historie vzít při úplně prvním kole (výchozí 14; 0 = brát až nové zprávy od teď) |
Doporučený postup: založit zvlášť schránku nebo složku jen pro doklady (třeba
[email protected]) a do ní nechat z účtárny přeposílat. Portál pak nemusí
mít přístup k celé poště účtárny a nemíchá se mu do dokladů běžná komunikace.
Ze schránky se nic nemaže ani neoznačuje jako přečtené — portál si jen pamatuje
nejvyšší přečtené UID zprávy (PostaStav). Poprvé se bere jen posledních 14 dnů,
aby se do Výdajů nevysypala celá historie. Schránka se kontroluje vždy při otevření
stránky Výdaje a tlačítkem Zkontrolovat poštu; plánovaná úloha zatím není.
Údaje z přílohy (dodavatel, částka, DPH, datum, číslo dokladu) vyčítá stejný model
jako u fotek účtenek (ANTHROPIC_API_KEY). Jsou to návrhy — u dokladu je vidět,
s jakou jistotou se četlo, a účetní je před zařazením překontroluje.
Funkce běží ve Frankfurtu (vercel.json → regions: ["fra1"]), ne ve výchozím
Washingtonu. Databáze (Supabase) je v Evropě a tým taky: než se to přepnulo,
šla každá cesta do databáze přes Atlantik a zpátky. Jeden požadavek chatu tak
trval přes dvě vteřiny, i když samotné dotazy byly rychlé — načítání
konverzace 2,3 s, prázdná route bez databáze 0,7 s (oprava 12. 9. 2026).
Kdyby se databáze někdy stěhovala, patří sem region k ní, ne k lidem: dotazů je na jeden požadavek několik, zatímco uživatel čeká jen na jednu cestu tam a zpátky.