This Laravel application provides a comprehensive system for managing users and roles with full CRUD functionality. It's built using Laravel 8+ and follows the MVC architecture.
-
User Management
- Create, Read, Update, and Delete users
- Assign multiple roles to users
-
Role Management
- Create, Read, Update, and Delete roles
-
Authentication
- Login and Registration functionality
- Protected routes accessible only to authenticated users
-
Multilingual Support
- Supports English and Greek languages
- Easy language switching
-
Responsive Design
- Built with Bootstrap for a mobile-friendly interface
-
Security
- CSRF protection
- Password hashing
-
MVC Architecture
- Models:
app/Models/User.php
andapp/Models/Role.php
- Views:
resources/views/users/
andresources/views/roles/
- Controllers:
app/Http/Controllers/UserController.php
andapp/Http/Controllers/RoleController.php
- Models:
-
Laravel Tools
- Form creation: Blade templates in
resources/views/users/form.blade.php
andresources/views/roles/form.blade.php
- Database Interaction: Eloquent ORM used in controllers
- Migrations:
database/migrations/
- Validation: Server-side validation in controllers
- Form creation: Blade templates in
-
Client-side Validation
- Implemented in
resources/js/app.js
- Implemented in
-
AJAX Requests
- Example implementation in
resources/js/app.js
- Example implementation in
-
Bootstrap Frontend
- Used throughout the views
-
Error Handling
- Flash messages implemented in controllers and displayed in views
-
Database Transactions
- Implemented in UserController and RoleController for critical operations
-
Multilingual Support
- Language files:
resources/lang/en.json
andresources/lang/el.json
- Language switcher in
resources/views/layouts/app.blade.php
- Language files:
-
Authentication
- Laravel's built-in authentication system
- Protected routes in
routes/web.php
-
Password Security
- Hashing implemented in
app/Models/User.php
- Hashing implemented in
-
Middleware
- Custom SetLocale middleware in
app/Http/Middleware/SetLocale.php
- Custom SetLocale middleware in
- Clone the repository
- Run
composer install
- Copy
.env.example
to.env
and configure your database - Run
php artisan key:generate
- Run
php artisan migrate
- Run
php artisan db:seed
(if seeders are provided) - Run
npm install && npm run dev
- Register a new user or login with existing credentials
- Navigate through the dashboard to manage users and roles
- Use the language switcher in the navbar to change the interface language