Unikalne, ręcznie robione produkty od polskich twórców.
CraftRoni to sklep internetowy z polskim rękodziełem. Projekt powstał jako:
- Platforma sprzedaży unikalnych, ręcznie robionych produktów
- Wsparcie dla polskich twórców i rzemieślników
- Projekt edukacyjny do nauki programowania
- ✅ Katalog produktów z kategoriami
- ✅ Koszyk i proces zakupowy
- ✅ Panel administracyjny
- 🔄 Integracja z Przelewy24 (w przygotowaniu)
- 📋 Widget Instagram (planowany)
| Warstwa | Technologia |
|---|---|
| Frontend | Next.js 16 (App Router) |
| Język | TypeScript |
| Stylowanie | Tailwind CSS 4 |
| ORM | Prisma 6 |
| Baza danych | MySQL (MariaDB) |
| Płatności | Przelewy24 |
| Ikony | Lucide React |
- Node.js 18+
- npm lub yarn
- MySQL 8+ lub MariaDB 10.5+
- Git
- Sklonuj repozytorium:
git clone https://github.com/toniii98/CraftRoni.git
cd CraftRoni- Zainstaluj zależności:
npm install- Skopiuj plik konfiguracyjny:
cp .env.example .env-
Skonfiguruj zmienne środowiskowe (patrz sekcja Konfiguracja)
-
Wygeneruj klienta Prisma:
npm run db:generate- Zastosuj schemat do bazy danych:
npm run db:push- Wypełnij bazę przykładowymi danymi (opcjonalnie):
npm run db:seedEdytuj plik .env i uzupełnij:
# Baza danych
DATABASE_URL="mysql://user:password@localhost:3306/craftroni"
# Aplikacja
NEXT_PUBLIC_APP_URL="http://localhost:3000"
# Autoryzacja (wygeneruj: openssl rand -base64 32)
AUTH_SECRET="twoj-tajny-klucz"
# Przelewy24 (opcjonalnie na start)
P24_MERCHANT_ID=""
P24_POS_ID=""
P24_CRC=""CREATE DATABASE craftroni CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;Tryb deweloperski:
npm run devAplikacja dostępna pod: http://localhost:3000
Build produkcyjny:
npm run build
npm startPrisma Studio (podgląd bazy):
npx prisma studioCraftRoni/
├── prisma/
│ └── schema.prisma # Schemat bazy danych
├── public/ # Pliki statyczne
│ └── images/ # Obrazy
├── src/
│ ├── app/ # Next.js App Router
│ │ ├── (shop)/ # Strony sklepu
│ │ ├── (admin)/ # Panel administracyjny
│ │ ├── api/ # API endpoints
│ │ ├── layout.tsx # Główny layout
│ │ └── page.tsx # Strona główna
│ ├── components/ # Komponenty React
│ │ ├── layout/ # Header, Footer
│ │ ├── ui/ # Przyciski, inputy, etc.
│ │ └── shop/ # Komponenty sklepowe
│ ├── lib/ # Utilities
│ │ ├── prisma.ts # Klient Prisma
│ │ ├── utils.ts # Funkcje pomocnicze
│ │ └── config.ts # Konfiguracja
│ └── types/ # Definicje TypeScript
├── .env.example # Przykład zmiennych środowiskowych
├── package.json
├── tailwind.config.ts
└── tsconfig.json
- Inicjalizacja projektu
- Konfiguracja Next.js + Prisma
- Schemat bazy danych
- Podstawowe komponenty UI
- Katalog produktów
- Koszyk
- Checkout + Przelewy24
- Panel admin
- Newsletter
- Opinie produktów
- Kody rabatowe
- Blog
- SEO optymalizacja
- Marketplace dla wielu twórców
- Aplikacja mobilna
- Integracja z hurtowniami
CraftRoni - projekt edukacyjny
Projekt prywatny - wszelkie prawa zastrzeżone.
Made with ❤️ in Poland 🇵🇱