DoDomuDojadę to aplikacja webowa, która stanowi wirtualną tablicę informacyjną.
Cele projektu:
- Ułatwienie dostępu do informacji publicznych (transport, pogoda).
- Minimalistyczna architektura dla szybkiego rozwoju.
- Łatwość integracji z nowymi źródłami danych.
W dokumentacji odnajdziesz więcej informacji odnośnie projektu. Poniżej znajduje się minimum, które jest wymagane do uruchomienia projektu.
- Dokumentacja projektu znajduje się tutaj
- Autogenerowana dokumentacja kodu (klas, funkcji) znajduje się tutaj
Jeżeli chcesz zobaczyć dokumentację lokalnie, przejdź do sekcji lokalna dokumentacja.
- tramwaje
- ogłoszenia
- słowo dnia
- cytat dnia
- pogoda
- odliczanie
- PHP 8.5
- Tailwind CSS
- Alpine.js
- Postgres
Sklonuj repozytorium:
git clone https://github.com/SLOths4/DoDomuDojade.git
cd DoDomuDojadeZainstaluj zależności:
composer install --dev
npm ciSkonfiguruj zmienne środowiskowe:
cp .env.example .envUtwórz bazę danych używając schema.sql i użytkownika (tutaj dla przykładu ddd):
# 1. Connect as postgres (admin)
psql -U postgres
# 2. Create user (if doesn't exist)
create user ddd with password '<your_password>';
# 3. Create database
create database dodomudojade owner ddd;
# 4. Exit
\q
# 5. Run schema as postgres
psql -U postgres -d dodomudojade -f schema/schema.sql
# 6. Check schema as ddd
psql -U ddd -d dodomudojade -c "\dt"
Dodatkowo pamiętaj, żeby nadać właściwe uprawnienia swojemu użytkownikowi. W przykładzie użytkownikiem tym jest ddd
-- Grant all privileges on database
grant all privileges on database dodomudojade to ddd;
-- Grant all privileges on all tables
grant all privileges on all tables in schema public to ddd;
-- Grant all privileges on all sequences (for auto-increment IDs)
grant all privileges on all sequences in schema public to ddd;
-- Grant usage on schema
grant usage on schema public to ddd;
-- Set default privileges for future tables
alter default privileges in schema public grant all on tables to ddd;
alter default privileges in schema public grant all on sequences to ddd;
-- Grant execute on functions (if any)
grant execute on all functions in schema public to ddd;
Nie zapomnij o dodaniu listy dostępnych modułów do tabeli modułów (standardowo module):
insert into public.module (id, module_name, is_active, start_time, end_time)
values (4, 'tram', true, '00:00', '23:59'),
(5, 'weather', true, '00:00', '23:59'),
(6, 'quote', true, '00:00', '23:59'),
(7, 'word', true, '00:00', '23:59'),
(1, 'announcements', true, '00:00', '23:59'),
(3, 'countdown', true, '00:00', '23:59'),
(2, 'calendar', true, '00:00', '23:59');
Dodaj nowego użytkownika przy użyciu interfejsu CLI. Pamiętaj, że nazwa użytkownika i hasło muszą być zgodne z domyślnymi lub z ustalonymi przez Ciebie wymogami.
bin/app user:add <username> <password>Uruchom backend lokalnie, np. przy użyciu wbudowanego serwera PHP:
php -S localhost:8080 -t public/ public/index.phpZbuduj frontend:
npm run devJeżeli potrzebujesz jednorazowego buildu (np. do wdrożenia), użyj:
npm run buildJeżeli wolisz krótsze polecenia, możesz użyć Makefile:
make install— instaluje zależności Composer i npm.make dev— uruchamia lokalny serwer PHP oraz proces frontendowy (watch).make build— buduje frontend.make lint— uruchamia PHPStan.make test— uruchamia PHPUnit.make docs— buduje dokumentację MkDocs i phpDocumentor.make db-init— wczytujeschema/schema.sqldo istniejącej bazy (korzysta zDB_*z.env).
Jeżeli chcesz zobaczyć lokalną dokumentację:
mkdocs serveJeżeli chcesz lokalnie przeglądać dokumentację kodu, autogenerowaną przy użyciu phpDocumentator użyj poniższej komendy:
vendor/bin/phpdoc run- Dlaczego projekt nie używa framework-a? Głównym celem jest lekkość projektu oraz nauka PHP.
Ten projekt jest licencjonowany na warunkach CC-BY-NC-4.0 — pełny tekst licencji.
Oznacza to, że:
- ✅ możesz używać, modyfikować i dzielić się kodem
- ✅ musisz przypisać autorstwo
- ❌ nie możesz użytkować komercyjnie kodu bez zgody
© SLOths4 2025
Masz pytania? Otwórz Issue lub skontaktuj się z nami na sloths4@spolecznaczworka.pl.