Skip to content

sven-81/taskmanager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

25 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Sven Duge

πŸ“ Private TaskManager

A simple Laravel-based task manager to demonstrate the Hexagonal Architecture (also known as Ports & Adapters).

Users can:

  • βœ… Add tasks
  • ✏️ Rename tasks
  • ❌ Delete tasks
  • πŸ”„ Change task status:
    • Open ➑️
    • In Progress πŸ”„
    • Done βœ…

This project is intentionally small and focused on clean architecture principles.


βš™οΈ Run the App:

To run the app:

  1. Run make list to see all available commands.
  2. Start the container with:
make up

πŸ› οΈ Initial Setup:

To initialize the Laravel project with Sail, run:

make init

This will:

Create the Laravel project

Start the containers

Install dependencies


🧱 Project Architecture:

This project follows the Hexagonal Architecture pattern, separating:

  • Domain – pure business logic (Entities, Value Objects, Interfaces)
  • Application – use cases (CreateTask, UpdateTask, etc.)
  • Infrastructure – frameworks like Laravel, databases, HTTP, etc.

πŸ” Why Redirect Instead of Direct Response?

This project uses the Post/Redirect/Get (PRG) pattern for all form submissions.

Benefits:

  • βœ… Prevents duplicate submissions when users refresh the page after submitting a form
  • πŸ”„ Always shows the updated task list after an action
  • πŸ’¬ Flash messages can be shown after redirect (e.g. success/error)
  • 🧩 Cleaner UX and easier debugging

Example:

return redirect()->route('tasks.index')->with('success', 'Task created!');

πŸ“„ License

This project is open-sourced under the MIT License.

About

laravel taskmanager

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published