Moderný Airtable clone postavený na Next.js 14, TypeScript, Tailwind CSS a Supabase.
- ✅ Grid view interface podobný Airtable
- ✅ CRUD operácie (Create, Read, Update, Delete)
- ✅ Základné column types:
- Single line text
- Long text
- Number
- Date
- Checkbox
- Single select
- Multiple select
- ✅ Column management (pridávanie, editovanie, mazanie)
- ✅ Table management
- ✅ Autentifikácia používateľov
- 🔄 AI integrácia (Stable Diffusion, OpenAI Vision)
- 🔄 Content kalendár pre sociálne siete
- 🔄 Cloudflare R2 storage
- 🔄 Advanced views (Kanban, Calendar, Gallery)
- 🔄 Real-time collaboration
- 🔄 Formulas a calculations
- Frontend: Next.js 14, TypeScript, Tailwind CSS
- Backend: Next.js API Routes, Prisma ORM
- Database: Supabase (PostgreSQL)
- Auth: NextAuth.js
- Storage: Cloudflare R2 (Fáza 2)
- Deployment: Vercel
- Klonuj projekt:
git clone <repository-url>
cd airtable-clone- Nainštaluj dependencies:
npm install- Nastav environment variables:
cp .env.local.example .env.localVyplň nasledujúce hodnoty v .env.local:
# Supabase
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
# NextAuth
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your_nextauth_secret
# Database
DATABASE_URL=your_supabase_database_url- Generuj Prisma client:
npm run db:generate- Push databázovú štruktúru:
npm run db:push- Spusti development server:
npm run devOtvor http://localhost:3000 v prehliadači.
src/
├── app/ # Next.js App Router
│ ├── (auth)/ # Auth pages
│ ├── dashboard/ # Dashboard a tables
│ ├── globals.css # Global styles
│ ├── layout.tsx # Root layout
│ └── page.tsx # Home page
├── components/ # React komponenty
│ ├── ui/ # Basic UI komponenty
│ ├── grid/ # Grid view komponenty
│ ├── forms/ # Form komponenty
│ └── layout/ # Layout komponenty
├── lib/ # Utility knižnice
│ ├── prisma.ts # Prisma client
│ ├── supabase.ts # Supabase client
│ └── utils.ts # Helper funkcie
├── types/ # TypeScript typy
│ ├── database.ts # Database typy
│ └── ui.ts # UI typy
└── hooks/ # Custom React hooks
- User: Používateľské účty
- Workspace: Pracovné priestory
- Table: Tabuľky v rámci workspace
- Column: Stĺpce tabuliek
- Record: Záznamy (riadky)
- CellValue: Hodnoty v bunkách
TEXT: Jednoduchý textLONG_TEXT: Dlhý text (textarea)NUMBER: Číselné hodnotyDATE: DátumCHECKBOX: Zaškrtávacie políčkoSINGLE_SELECT: Jedna možnosť z dropdownMULTIPLE_SELECT: Viacero možností (tagy)
npm run dev- Development servernpm run build- Production buildnpm run start- Production servernpm run lint- ESLintnpm run db:generate- Generuj Prisma clientnpm run db:push- Push databázové zmenynpm run db:studio- Otvor Prisma Studio
- Pushni kód na GitHub
- Prepoj repository s Vercel
- Nastav environment variables vo Vercel dashboard
- Deploy automaticky
- Build projekt:
npm run build - Upload
.nextfolder na hosting - Nastav environment variables
- Forkni projekt
- Vytvor feature branch:
git checkout -b feature/amazing-feature - Commitni zmeny:
git commit -m 'Add amazing feature' - Pushni branch:
git push origin feature/amazing-feature - Otvor Pull Request
Tento projekt je licencovaný pod MIT License - pozri LICENSE file pre detaily.
Ak máš nejaké otázky alebo problémy, prosím otvor issue na GitHub.