A journaling application built with clean architecture principles, following TDD from day one.
This project was started as an experiment:
- to see whether it is possible to learn something new with the help of ChatGPT;
- to build something actually working, more complex than just a “Hello, World”;
- to explore how much freedom can be given to the model;
- to find out what happens if ChatGPT is used as a real development assistant;
- to check whether my own programming skills would atrophy in the process.
As a result, Daylog turned into more than just a learning sandbox.
It became a reference example of applying Clean Architecture, TDD,
and rigorous documentation practices in a PHP project.
Daylog was created in 2025 as a clean architecture / TDD learning project.
It was developed collaboratively with the help of ChatGPT (OpenAI).
- PHP 8.1+
- Fat-Free Framework (F3) in Infrastructure (DB layer), and in Presentation
- Composer, Codeception (unit/integration/functional)
- Vite for frontend (later)
- mbstring
-
Framework-independent Domain/Application layers.
-
One TDD step = one commit (Conventional Commits).
-
English for code, tests, commits, and documentation.
-
See
/docsfor charter, requirements, and use cases. -
See
/docs/CONFIGURATION.mdfor environment and DB setup. -
See
/docs/TESTING.mdfor testing conventions and running suites. -
See
/docs/ARCHITECTURE_ERD_AND_GLOSSARY.mdfor architecture overview (ERD + glossary). -
See
/docs/GITFLOW.mdfor branching model.
Daylog is licensed under the GNU General Public License v3.0.
See the LICENSE file for details.