A personal multimedia journaling application built with Symfony 7.3 that allows you to create and manage different types of entries in your personal log.
FieldLog is a web application designed to help you organize and store your thoughts, bookmarks, and files in a chronological journal. Whether you want to save text notes, bookmark important links, or store documents and images, FieldLog provides a unified interface to manage all your content.
- Text Entries: Write and save personal notes, thoughts, and reflections
- Link Entries: Bookmark URLs with descriptive titles for easy reference
- File Entries: Upload and store files including images, documents, and other media
- Timestamped Entries: All entries are automatically timestamped with publication date
- Paginated Lists: Browse your entries with pagination (5 entries per page by default)
- Type Filtering: Organize and view entries by type
- Rich Metadata: Each entry includes title (up to 180 characters), type, and relevant content
- Backend: Symfony 7.3, PHP 8.2+, Doctrine ORM
- Frontend: Twig templates, Stimulus controllers, TailwindCSS
- Components: Symfony UX (Live Components, Twig Components, Icons)
- Infrastructure: Docker with FrankenPHP and Caddy
- Storage: Doctrine for database, Flysystem for file management
- Docker Compose (v2.10+)
- Castor - PHP task runner for managing the project
- Clone the repository
- Build and start the infrastructure:
castor build castor start
- Install dependencies:
castor install
- Open
https://localhostin your web browser and accept the auto-generated TLS certificate
castor build- Build Docker imagescastor start- Start containers (also compiles frontend)castor stop- Stop containerscastor restart- Restart containerscastor destroy- Remove all containers, volumes, and networks
castor install- Install Composer dependenciescastor update- Update dependencies and run migrationscastor frontend- Compile frontend assetscastor frontend --watch- Watch mode for frontend developmentcastor console <command>- Run Symfony console commands
castor ecs- Check code style with Easy Coding Standardcastor ecs --fix- Automatically fix code style issuescastor rector- Analyze code with Rectorcastor rector --fix- Apply automatic refactoringscastor phpstan- Run static analysis with PHPStancastor lint- Check PHP syntaxcastor deptrac- Verify architecture dependencies
castor phpunit- Run PHPUnit tests with coveragecastor infect- Run mutation testing with Infection
castor prepare_pr- Prepare code for pull request (fix style, run static analysis)
All QA tools run in an isolated Docker container (ghcr.io/spomky-labs/phpqa:8.4) to ensure consistent analysis across environments.
src/
βββ Controller/ # Application controllers
βββ Entity/ # Doctrine entities
βββ Repository/ # Database repositories
templates/ # Twig templates
assets/ # Frontend assets (JS, CSS)
.ci-tools/ # Configuration for QA tools
This project is proprietary software.