Programowania najlepiej uczyć się w praktyce, czyli tworząc kolejne projekty czy aplikacje. Problem w tym, że czasami zwyczajnie brakuje pomysłów na to, co konkretnie mielibyśmy napisać. Dlatego przychodzę z pomocą – poniżej lista ponad stu propozycji na aplikacje, od bardzo prostych do bardziej złożonych, dodatkowo z podziałem na kategorie. Na pewno każdy znajdzie coś dla siebie.
Uwaga: listę będę aktualizować, jak tylko natrafię na coś ciekawego do napisania (albo sama wymyślę :)).
Ostatnia aktualizacja: 23-06-2019
Na rozgrzewkę
- Fizz-Buzz
- Walidacja PESELu, NIPu
- Obliczanie silni
- Odwracanie ciągu tekstowego (Pociąg -> gąicoP)
- Problem Collatza
- Policz słowa w tekście (tekst z pliku .txt)
- Sprawdzanie anagramów i palindromów
- Policz dni między dwoma datami
- Narysuj choinkę (w konsoli)
- Proste szyfrowanie / odszyfrowywanie tekstu
- Papier kamień nożyce (lub w wersji rozszerzonej: rock paper scissors lizard spock )
- Sprawdzanie podzielności danej liczby (wypisanie jej podzielników)
Konwertery
- Konwerter tekstu na kod Morsa
- Konwerter jednostek (miary, wagi etc)
- Konwerter temperatur
- Konwerter walut (wersja: pobieranie aktualnego kursu z API)
- Kalkulator BMI
Generatory
- Generator haseł
- Generator Sudoku
- Generator krzyżówki
- Random Name Generator (np imiona fantasy)
- Random Image Generator (np obrazy do avatarów na forum/disqus)
- Generator kartek świątecznych / okazjonalnych online (do wysłania mailem)
- Generator horoskopu (poważny lub humorystyczny)
- CD Key Generator – generuje unikalny klucz, jednak według twojego algorytmu, tak, by później dało się zweryfikować, czy klucz jest prawidłowy
- Generator pomysłu na prezent (na podstawie wprowadzonych parametrów, np zainteresowań)
- CAPTCHA generator
- Generator statystyk postaci dla gry RPG (statystyki dobierane na podstawie parametrów takich jak klasa i rasa postaci, ilość punktów siły/zręczności/inteligencji czy dodatkowych zdolności)
- Generator raportów (na podstawie tabel z bazy danych – może być jako dodatek do któregoś z menedżerów)
- Generator sygnatur na fora (zdjęcie, tekst, być może dane z jakiegoś serwisu po api)
- Generator danych testowych (numer PESEL, NIP, data urodzenia, nr konta bankowego, adres email, nr telefonu, imię i nazwisko etc)
Menedżery (z wykorzystaniem baz danych)
- Aplikacja do zarządzania budżetem domowym (+ eksport danych do excela, opcjonalnie wysyłanie raportów na maila np raz w tygodniu)
- System rezerwacji biletów (autobus, pociąg, kino etc.)
- System zarządzania pracownikami w firmie (+ implementacja systemu premiowego)
- System zarządzania uczelnią (wykładowcy, przedmioty, studenci, egzaminy)
- System zarządzania biblioteką (+ obsługa rezerwacji książek)
- System zarządzania hotelem
- System bankowy
- System zarządzania restauracją (moduły: rezerwacja stolików, zarządzanie personelem, zarządzanie dostawami spożywczymi)
- System obsługujący wypożyczalnię samochodów
- System obsługi faktur
- Portal randkowy
- System zarządzania placówką medyczną
- System zarządzania magazynem (np części zamiennych do urządzeń AGD)
- Portal z ogłoszeniami nieruchomości (sprzedaż, wynajem)
- System zgłoszeń (jak Service Desk Plus)
- Planer (do planowania zadań na dzień, tydzień, miesiąc)
- System obiegu dokumentów w firmie
- Snippet manager – program do przechowywania ciekawych fragmentów kodu „na później” (z podziałem na typ snippetu i język; opcjonalnie z kolorowaniem składni)
- System zarządzania kolekcjami (np gry, z wykorzystaniem Steam API)
Gry
- Zgadnij Liczbę (zgaduje komputer)
- Zgadywanie słów
- Gra typu Flappy Bird
- Gra w statki
- Ping-Pong
- Gra typu Space Invaders
- Tetris
- Tekstowa gra przygodowa
- Cztery w rzędzie
- Gra Mastermind
- Kółko i krzyżyk
- Gra karciana – Blackjack
- Gra – labirynt (+ rozwiązanie)
- Wieże Hanoi
- Pacman
- Aplikacja typu Quiz (gracz przechodzi przez serię pytań, na końcu podsumowanie liczby punktów za poprawne odpowiedzi; pytania mogą być losowane z pewnej puli)
Różne
- Apka z wykorzystaniem API (np pogodowa)
- Implementacja algorytmów sortowania (merge i bubble sort)
- Kwoty słownie (po angielsku; wersja trudniejsza – po polsku)
- Symulator automatu z przekąskami (wydawanie reszty)
- Program do sprawdzania szybkości pisania
- Stoper, minutnik
- Program do fiszek (który potem wykorzystasz do uczenia się kolejnych rzeczy)
- Odtwarzacz muzyki
- Walidacja danych wg wyrażeń regularnych (email, nr telefonu, data etc)
- Chat (aplikacja typu gadu-gadu lub skype)
- Sprawdzanie maili
- Obliczanie odległości z wykorzystaniem Google API
- System głosowania online
- Kreator CV online (lub innych dokumentów)
- Forum dyskusyjne
- Galeria sztuki online
- Serwis aukcyjny (aukcje z licytacją)
- Streaming video
- Sklep online
- System do obliczania podatku
- Platforma e-learningowa
- Program do sprawdzania kursów walut (+ wykresy zmian kursów)
- Program FTP
- Program typu Paint
- Przeglądarka internetowa
- Edytor tekstu
- Lista to-do
- Portal z ogłoszeniami (np oferty pracy)
- Serwis społecznościowy, na wzór już istniejących (nasza klasa, grono, facebook)
- Pobierz czas atomowy z Internetu
- Aplikacja typu torrenty
- Skaner portów (podajesz IP i zakres portów, a program je skanuje i próbuje się do nich podłączyć)
- Sprawdzanie (co określony czas), czy dana strona/server jest online; jeśli nie jest, wysyłane jest powiadomienie (np mailem)
- Manager pobierania plików w tle (wielowątkowość)
- Edytor/kreator typu WYSIWG (What you see is what you get)
- Program, który śledzi zużycie transferu danych podczas korzystania z internetu (+ wykres zużycia z danego dnia)
- Zapisywanie obrazu w skali szarości (+ możliwość ręcznego dostosowywania np kontrastu)
- Aplikacja do nakładania znaków wodnych na obrazy
- Uproszczony klon dowolnego programu, z którego korzystasz na co dzień
- Projekt związany z własnymi zainteresowaniami
- Dowolny projekt, który robi coś “dziwnego” (albo udziwniaj zrobione już projekty – niech robią coś szalonego!)
Dodatki
- 49 pomysłów na gry w Pythonie (z obrazkami i opisami): http://inventwithpython.com/blog/2012/02/20/i-need-practice-programming-49-ideas-for-game-clones-to-code/
- Idea Machine (ludzie rzucają luźne pomysły na aplikacje): http://www.ideamachine.io/