Ja też zrobiłem todo listę by ćwiczyć React. Proste dodawanie i usuwanie zadań oraz zmiana statusu zadania (do zrobienia, w trakcie, zrobione, anulowane). Tylko, że potem dodałem kilka kolejnych funkcji: zadanie może mieć priorytet lub nie, zadanie ma datę wykonania, lista zadań sortowana po dacie wykonania, zadanie ma etykietę (zaległe, dziś, jutro, za 5 dni), dodałem komponent " o projekcie" i projekt umieściłem na hostingu. W kolejnej wersji dodałem zadania powtarzalne (czyli takie, które wykonuje się na przykład co poniedziałek) i po wprowadzeniu takiego zadania jest ono generowane na 14 dni do przodu i dodawane automatycznie do listy zadań, nowy widok listy zadań tylko powtarzalnych, automatyczna aktualizacja zadań już wygenerowanych po edycji wzoru takiego zadania, wysuwane menu dla urządzeń mobilnych.
Skąd to się wzięło? Postanowiłem sam używać mojej todo listy i przy jej używaniu co chwilę wpada jakiś nowy pomysł oraz kilka mniejszych na zmiany. Używając też okazuje się, że było masę błędów do poprawy. Ostatni mój pomysł to by zmienić input text na textarea dla treści zadań. Ogólnie chciałbym jeszcze dodać możliwość dodawania zadań na konkretny dzień miesiąca, np dla każdego 15 w miesiącu, by na liście była taka pozycja jak płacenie rachunków. Chciałbym też oprócz widoku listy zrobić widok kalendarza podobnego do Google Calendar i mieć na nim widok tych zadań. Chcę też dodać w przyszłości możliwość dodania godziny rozpoczęcia zadania i oraz czasu trwania zadania (15, 30 minut, 1h, 1,5h itd). Pisanie aplikacji dla siebie i potem ich używanie i rozwijanie to na pewno dobry pomysł.
Jeden dalszy znajomy ćwicząc Reacta napisał sobie grę Saper. Inny pomysł to aplikacja do tworzenia ankiet i głosowania, bo jest trochę bardziej skomplikowana niż todo lista (można dodać wykresy np.). Można by też pomyśleć o jakiejś prostej grze planszowej i przeniesieniu jej na przeglądarkę.