TaskHub is a Laravel + Vue application for managing tareas and notas in one place.
It includes:
- Authentication with Laravel Fortify
- A dashboard with task and note summaries
- A
Tareasmodule with priority, due date, status, and filters - A
Notasmodule for quick project notes and reminders - Vue frontend powered by Vite
- Laravel 12
- PHP 8.5
- Vue 3
- Inertia.js
- Vite
- SQLite for local development
Clone the project and install dependencies:
composer install
npm installCopy the environment file and generate the app key:
copy .env.example .env
php artisan key:generateRun migrations:
php artisan migrateStart the Laravel server:
php artisan serveStart Vite in a second terminal:
npm run devOpen:
http://127.0.0.1:8000
Build and start the containers:
docker compose up --buildTaskHub will be available at:
http://127.0.0.1:8000
The Docker setup includes:
appcontainer with Laravel, PHP, Apache, and built Vite assetsdbcontainer with MySQL 8
Useful Docker commands:
docker compose up --build
docker compose down
docker compose down -vThe MySQL container is exposed on port 3307 locally.
Database credentials used by Docker:
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=taskhub
DB_USERNAME=taskhub
DB_PASSWORD=secret
Run tests:
php artisan testGenerate Wayfinder routes/actions:
php artisan wayfinder:generate --with-formBuild frontend assets for production:
npm run buildTaskHub can be deployed on platforms like Railway.
Typical production steps:
composer install --no-dev --optimize-autoloader
npm install
npm run build
php artisan migrate --force
php artisan optimizeVite is used to build the frontend assets. In production, Laravel serves the built files from public/build.
app/Http/Controllers- Laravel controllersapp/Models- Eloquent modelsdatabase/migrations- database schema changesresources/js/pages- Inertia/Vue pagesresources/js/components- reusable UI componentsroutes/web.php- application routes
- create tasks
- Mark as Completed
- Delete Tasks
- Control Priority of tasks
- add limit dates
- Filter by state
- Make Notes
- Delete notes
- See a summary from dashboard
.envis not committedvendor,node_modules, and build output are ignored- Generated Wayfinder files are regenerated locally with Artisan commands