simplereservations
v0.1.0
Published
**Prosty i intuicyjny system rezerwacji dla wszystkiego**
Downloads
1
Readme
🎯 SimpleReservations
Prosty i intuicyjny system rezerwacji dla wszystkiego
🚀 Demo na żywo: https://simplereservations.vercel.app/
✨ O projekcie
SimpleReservations to nowoczesny system rezerwacji stworzony z myślą o prostocie i efektywności. Pierwotnie zaprojektowany dla drukarek 3D, może być łatwo dostosowany do rezerwacji dowolnych zasobów - sal konferencyjnych, sprzętu, pojazdów czy innych udostępnianych obiektów.
🎯 Główne funkcje
- 📅 Intuicyjne zarządzanie rezerwacjami - Łatwe dodawanie, edytowanie i usuwanie rezerwacji
- ⏰ Zarządzanie czasem - Elastyczne ustawianie godzin i czasu trwania (1-12h)
- 👥 Identyfikacja użytkowników - Przypisywanie rezerwacji do konkretnych osób
- 📋 Projekty i notatki - Możliwość dodawania dodatkowych informacji
- 🔄 Real-time sync - Synchronizacja w czasie rzeczywistym dzięki Supabase
- 📱 Responsive design - Pełna responsywność na wszystkich urządzeniach
- 🌐 Status połączenia - Wizualna informacja o stanie połączenia z bazą danych
🎨 Interfejs użytkownika
- Nadchodzące rezerwacje - Wyróżnione zielonym kolorem z pełnymi opcjami zarządzania
- Historia rezerwacji - Przejrzysta lista przeszłych rezerwacji
- Modal formularz - Elegancki formularz dodawania/edycji rezerwacji
- Ikonografia - Intuicyjne ikony z biblioteki Lucide React
🛠️ Stack technologiczny
Frontend
- React 19.1.0 - Najnowsza wersja biblioteki React
- TailwindCSS 3.4 - Utility-first CSS framework
- Lucide React - Nowoczesne ikony SVG
Backend & Baza danych
- Supabase - Backend-as-a-Service z PostgreSQL
- Real-time subscriptions - Automatyczne odświeżanie danych
Narzędzia deweloperskie
- Create React App - Szybkie środowisko deweloperskie
- ESLint - Linting kodu JavaScript/React
- Jest & Testing Library - Testy jednostkowe i integracyjne
🚀 Szybki start
Wymagania
- Node.js (wersja 16+ zalecana)
- npm lub yarn
- Konto Supabase (dla bazy danych)
Instalacja
- Sklonuj repozytorium
git clone https://github.com/ovezthaking/simplereservations.git
cd simplereservations- Zainstaluj zależności
npm installSkonfiguruj Supabase
- Utwórz projekt na supabase.com
- Skopiuj URL i klucz API
- Zaktualizuj
src/supabaseClient.jsswoimi danymi
Utwórz tabelę w Supabase
CREATE TABLE reservations (
id BIGSERIAL PRIMARY KEY,
name TEXT NOT NULL,
project TEXT,
date DATE NOT NULL,
start_time TIME NOT NULL,
duration INTEGER NOT NULL,
notes TEXT,
created_at TIMESTAMPTZ DEFAULT NOW()
);
-- Włącz Real-time dla tabeli
ALTER PUBLICATION supabase_realtime ADD TABLE reservations;- Uruchom aplikację
npm startAplikacja będzie dostępna pod adresem http://localhost:3000
📁 Struktura projektu
simplereservations/
├── public/ # Pliki statyczne
│ ├── index.html # Główny plik HTML
│ ├── manifest.json # Manifest PWA
│ └── favicon.ico # Ikona aplikacji
├── src/
│ ├── App.js # Główny komponent aplikacji
│ ├── App.css # Style CSS dla App
│ ├── index.js # Punkt wejścia React
│ ├── index.css # Główne style (Tailwind)
│ ├── supabaseClient.js # Konfiguracja Supabase
│ └── setupTests.js # Konfiguracja testów
├── package.json # Zależności i skrypty
├── tailwind.config.js # Konfiguracja Tailwind CSS
└── README.md # Ten plik🧪 Testowanie
# Uruchom testy
npm test
# Uruchom testy z coverage
npm test -- --coverage🏗️ Build i deployment
# Zbuduj aplikację do produkcji
npm run build
# Katalog build/ będzie zawierał zoptymalizowane pliki gotowe do wdrożeniaDeployment na Vercel
- Połącz swoje repozytorium GitHub z Vercel
- Vercel automatycznie wykryje projekt React
- Ustaw zmienne środowiskowe dla Supabase (jeśli używasz)
- Deploy zostanie wykonany automatycznie
🎛️ Konfiguracja
Dostosowanie do własnych potrzeb
- Zmiana typu zasobu: Edytuj tytuły i etykiety w
src/App.js - Dostosowanie stylów: Modyfikuj klasy Tailwind lub dodaj własne style
- Nowe pola: Rozszerz formularz i model danych w bazie
Zmienne środowiskowe
Dla bezpieczeństwa, przenieś konfigurację Supabase do zmiennych środowiskowych:
REACT_APP_SUPABASE_URL=your_supabase_url
REACT_APP_SUPABASE_ANON_KEY=your_supabase_anon_key📖 API Endpoints
Aplikacja korzysta z automatycznych endpointów Supabase:
GET /reservations- Pobieranie wszystkich rezerwacjiPOST /reservations- Tworzenie nowej rezerwacjiPUT /reservations/:id- Aktualizacja rezerwacjiDELETE /reservations/:id- Usuwanie rezerwacji
🤝 Contribute
Chcesz pomóc w rozwoju projektu?
- Fork repozytorium
- Utwórz branch dla swojej funkcji (
git checkout -b feature/AmazingFeature) - Commit swoich zmian (
git commit -m 'Add some AmazingFeature') - Push do brancha (
git push origin feature/AmazingFeature) - Otwórz Pull Request
🐛 Zgłaszanie błędów
Jeśli znajdziesz błąd lub masz sugestię:
- Sprawdź, czy issue już nie istnieje
- Otwórz nowy issue z dokładnym opisem
- Dołącz kroki reprodukcji błędu
📄 Licencja
Ten projekt jest udostępniony na licencji CC0 1.0 Universal - zobacz plik LICENSE po szczegóły.
Oznacza to, że możesz swobodnie używać, modyfikować i dystrybuować ten kod w dowolnym celu, w tym komercyjnym.
👥 Autorzy
- Twoje Imię - Główny deweloper - @TwojGitHub
🙏 Podziękowania
- Create React App - za świetne środowisko startowe
- Supabase - za niesamowity BaaS
- Tailwind CSS - za fenomenalny CSS framework
- Lucide - za piękne ikony
- Vercel - za łatwy deployment
⭐ Jeśli projekt Ci się podoba, zostaw gwiazdkę! ⭐
