Code
Search code
Ingazeira dos Afogados
Ingazeira dos Afogados is a small editorial blog for publishing stories, ideas, and conversations between friends. The public site is written in Portuguese and uses a typographic, Swiss-inspired visual system.
Stack
- PHP 8.3+
- Laravel 13
- Livewire 4 with in-house Blade UI components
- Tailwind CSS 4 with Vite
- SQLite by default
- Pest 5 for tests
Requirements
- PHP 8.3 or newer
- Composer
- Node.js and npm
- SQLite, unless another database connection is configured in
.env
Setup
The repository includes a setup script that installs PHP and JavaScript dependencies, creates the application key, runs migrations, and builds frontend assets:
composer run setup
Copy .env.example to .env first if the file does not exist. The default configuration uses SQLite and stores the database at database/database.sqlite.
Development
Start the application development process with:
composer run dev
To run the frontend bundler separately:
npm run dev
Build production assets with:
npm run build
Tests and quality checks
Run the test suite:
php artisan test --compact
Run the complete Composer quality script, including formatting, static analysis, and tests:
composer run test
Individual checks are also available:
composer run lint
composer run types:check
Database and seeders
Apply migrations with:
php artisan migrate
Run the default seeder with:
php artisan db:seed --no-interaction
DatabaseSeeder uses an email-keyed upsert for the default [email protected] user, so it can be run repeatedly without creating duplicate users.
Main features
- Public article listing and article pages
- Rich text post editing with inline content images
- Authenticated comments and comment upvotes
- Author/admin comment deletion and moderation controls
- Administrator panel for posts and users
- Fortify-powered authentication and account settings
Important routes
| Route | Purpose |
|---|---|
/ |
Public homepage |
/blog |
Public article listing |
/blog/{post} |
Public article page |
/dashboard |
Authenticated dashboard |
/panel/posts |
Administrator post management |
/panel/users |
Administrator user management |
Project structure
app/Livewire— Livewire page and interaction componentsapp/Services— domain services responsible for persistence and queriesdatabase/factories— model factories used by tests and seedersdatabase/migrations— database schemadatabase/seeders— repeatable application seed dataresources/views— Blade and Livewire viewsresources/css/app.css— Tailwind and project-specific stylestests/Feature— feature and Livewire behavior tests