init
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
# Struktura Projektu i Wytyczne do Zadań
|
||||
|
||||
Projekt wymaga, aby każde zadanie przestrzegało określonej struktury katalogów oraz zawierało testy jednostkowe. Takie podejście zapewnia organizację i spójność pracy nad projektem.
|
||||
|
||||
## Struktura Katalogów Zadań
|
||||
|
||||
- Każde zadanie powinno mieć swój własny dedykowany folder.
|
||||
- Folder dla zadania powinien znajdować się w ścieżce katalogu według wzorca: `tasks/task_X`, gdzie `X` to numer zadania.
|
||||
|
||||
Przykład: dla zadania numer 1, katalog powinien być: `tasks/task_01`.
|
||||
|
||||
## Wymagania Zadań
|
||||
|
||||
Każdy folder zadania powinien zawierać co najmniej dwa główne komponenty:
|
||||
|
||||
1. **Pliki Implementacyjne (PHP)**: Obejmuje wszystkie niezbędne pliki PHP wymagane do zaimplementowania funkcjonalności zadania.
|
||||
|
||||
2. **Testy Jednostkowe**: Każde zadanie powinno mieć własne testy jednostkowe weryfikujące poprawność implementacji.
|
||||
|
||||
## Pisanie Testów Jednostkowych
|
||||
|
||||
- Testy jednostkowe powinny być umieszczone w podkatalogu `tests` w folderze zadania.
|
||||
- Użyj frameworka do testowania, takiego jak PHPUnit, do pisania testów.
|
||||
- Każdy plik testowy powinien być nazwany w sposób wskazujący, którą część zadania testuje, np. `Task1Test.php`.
|
||||
|
||||
## Uruchamianie Testów
|
||||
|
||||
- Testy dla każdego zadania powinny być możliwe do uruchomienia z poziomu katalogu zadania, np. za pomocą komendy `phpunit tests/`.
|
||||
|
||||
Przestrzegając tych wytycznych, praca nad każdym zadaniem będzie zorganizowana, co ułatwi zarządzanie projektami, przeglądanie kodu i współpracę.
|
||||
|
||||
# Lista Zadań
|
||||
|
||||
1. **Kalkulator**
|
||||
- Napisz prosty kalkulator wykonujący dodawanie dwóch liczb w PHP.
|
||||
- Rozszerz kalkulator, aby obsługiwał odejmowanie, mnożenie i dzielenie.
|
||||
|
||||
2. **Generator liczb losowych**
|
||||
- Stwórz skrypt generujący określoną liczbę losowych liczb.
|
||||
|
||||
3. **Przelicznik temperatur**
|
||||
- Napisz skrypt konwertujący temperatury między stopniami Celsjusza a Fahrenheita.
|
||||
|
||||
4. **Prosty serwer HTTP**
|
||||
- Użyj PHP do stworzenia serwera, który wyświetla wiadomość powitalną.
|
||||
|
||||
### Operacje na Tablicach
|
||||
5. **Filtrowanie danych**
|
||||
- Napisz funkcję filtrującą tablicę liczb, pozostawiając tylko te większe od określonej wartości.
|
||||
|
||||
6. **Sortowanie tablicy**
|
||||
- Napisz funkcję sortującą tablicę według określonego klucza.
|
||||
|
||||
7. **Mapowanie tablicy**
|
||||
- Przekształć tablicę liczb na tablicę ich kwadratów.
|
||||
|
||||
### Operacje na Stringach
|
||||
8. **Odwracanie stringa**
|
||||
- Napisz funkcję, która odwraca dany string.
|
||||
|
||||
9. **Sprawdzanie palindromu**
|
||||
- Napisz funkcję sprawdzającą, czy dany string jest palindromem.
|
||||
|
||||
10. **Frekwencja liter**
|
||||
- Napisz skrypt zliczający, jak często poszczególne litery pojawiają się w danym stringu.
|
||||
|
||||
### Operacje na Plikach
|
||||
11. **Czytanie z pliku**
|
||||
- Napisz skrypt, który czyta dane z pliku i wyświetla je.
|
||||
|
||||
12. **Zapis do pliku**
|
||||
- Napisz skrypt zapisujący dane wejściowe do pliku.
|
||||
|
||||
13. **Monitorowanie folderu**
|
||||
- Utwórz skrypt monitorujący zmiany w folderze i logujący te zmiany.
|
||||
|
||||
### Podstawy pracy z Sieciami i API
|
||||
14. **Klient HTTP**
|
||||
- Napisz klienta HTTP w PHP, który pobiera dane z publicznego API.
|
||||
|
||||
15. **Prosta aplikacja CRUD**
|
||||
- Utwórz aplikację CRUD (Create, Read, Update, Delete) z użyciem PHP i dowolnego frameworka, np. Laravel.
|
||||
|
||||
### Praca z Bazami Danych
|
||||
16. **Połączenie z MySQL**
|
||||
- Zrealizuj połączenie z bazą danych MySQL i wykonaj operację odczytu.
|
||||
|
||||
17. **Tworzenie API z bazą danych**
|
||||
- Rozbuduj aplikację CRUD, by dane były przechowywane w MySQL.
|
||||
|
||||
18. **Migracje bazy danych**
|
||||
- Napisz skrypt do zarządzania migracjami w bazie danych (tworzenie/usuwanie tabel).
|
||||
|
||||
### Zaawansowane Zadania
|
||||
19. **Autentykacja użytkownika**
|
||||
- Dodaj system logowania i autentykacji użytkownika do aplikacji.
|
||||
|
||||
20. **Zaawansowany serwer HTTP**
|
||||
- Stwórz zaawansowany serwer HTTP w PHP z obsługą różnych ścieżek i parametrów zapytania.
|
||||
Reference in New Issue
Block a user