Skip to content

Conversation

@awizendd
Copy link

@awizendd awizendd commented Apr 17, 2025

🚀 Summary

This PR implements a complete User Management System using Laravel Livewire for the technical assessment provided.

✨ Features Implemented

  • ✅ Full CRUD functionality for users (Create, Read, Update, Delete)
  • 🧪 Feature tests using Laravel's built-in testing tools (Red-Green-Refactor approach)
  • 🏗️ Domain-Driven Design (DDD) structure for better separation of concerns
  • 📸 Profile image upload with validation
  • 🌍 Country selection from a predefined list
  • ⚡ Clean UI powered by Livewire + Tailwind CSS + Alpine.js
  • 📦 Factory-based test data with profile image generation
  • 🔒 Password confirmation and validation handling
  • 🔄 Flash messages and UI feedback for user actions (e.g., success on create/delete)
  • ✅ Delete confirmation via interactive alert using Alpine.js

🧪 Testing

  • Feature tests cover:
    • User creation
    • Validation scenarios
    • User listing
    • Updating user details
    • Deleting a user (with UI confirmation)
  • Test data generated using Laravel Factories

🛠 Setup

To run locally:

git clone https://github.com/awizendd/tech-task.git
cd tech-task
composer install
cp .env.example .env
php artisan key:generate
touch database/database.sqlite
php artisan migrate --seed
php artisan serve

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant