How roissyujak/tokoku-laravel12 works
TokoKu is a Laravel online product catalog with role-aware product management. Visitors browse, search, filter, sort and paginate products; admins and sellers can create products, and authorized users can update or delete them. Authentication, profile management and admin access are separate user-facing flows. The README also documents an order-confirmation Mailable, but the supplied tree shows no order or checkout workflow, so no trigger for that email is inferred. Product-controller details are sampled; other feature links reflect the README and repository paths.
Main entry points: ProductController.php Product controller · web.php Web routes · User.php User model · AuthenticatedSessionController.php Session controller
Components 28
Request routing
- Web routes
routes/web.php - Auth routes
routes/auth.php
Product catalog
- Product controller
app/Http/Controllers/ProductController.php - Admin controller
app/Http/Controllers/AdminController.php - Product model
app/Models/Product.php - Category model
app/Models/Category.php - Tag model
app/Models/Tag.php - Product validation
app/Http/Requests/StoreProductRequest.php - Update validation
app/Http/Requests/UpdateProductRequest.php - Order confirmation mail
app/Mail/OrderConfirmation.php
Identity and access
- Product policy
app/Policies/ProductPolicy.php - Role middleware
app/Http/Middleware/RoleMiddleware.php - Session controller
app/Http/Controllers/Auth/AuthenticatedSessionController.php - Registration controller
app/Http/Controllers/Auth/RegisteredUserController.php - Profile controller
app/Http/Controllers/ProfileController.php - User model
app/Models/User.php
Web interface
- Product listing
resources/views/products/index.blade.php - Product forms and detail
resources/views/products - Admin dashboard
resources/views/admin/dashboard.blade.php - Shop layout
resources/views/layouts/main.blade.php - Profile page
resources/views/profile/edit.blade.php - Auth pages
resources/views/auth - Mail template
resources/views/emails/order-confirmation.blade.php
Other components
- Shopper
- Seller
- Admin
- Application database
- Image storage
Connections 33
- Shopper → Web routes: requests pages
- Seller → Web routes: requests pages
- Admin → Web routes: requests pages
- Web routes → Product controller: dispatches product routes
- Web routes → Admin controller: dispatches admin routes
- Web routes → Role middleware: guards role routes
- Auth routes → Session controller: dispatches sessions
- Auth routes → Registration controller: dispatches registration
- Product controller → Product validation: validates creation
- Product controller → Update validation: validates updates
- Product controller → Product model: queries and changes
- Product controller → Category model: loads categories
- Product controller → Tag model: syncs tags
- Product controller → Product policy: authorizes actions
- Product controller → Image storage: stores and deletes images
- Product controller → Product listing: renders listing
- Product controller → Product forms and detail: renders product pages
- Product controller → Application database: reads and writes
- Product model → Application database: persists products
- Category model → Application database: persists categories
- Tag model → Application database: persists tags
- Product policy → User model: checks role and ownership
- Role middleware → User model: checks role
- Admin controller → Admin dashboard: renders dashboard
- Session controller → User model: authenticates user
- Registration controller → User model: creates account
- Registration controller → Auth pages: renders registration
- Session controller → Auth pages: renders login
- Profile controller → User model: updates account
- Profile controller → Profile page: renders profile
- Product listing → Shop layout: uses layout
- Product forms and detail → Shop layout: uses layout
- Order confirmation mail → Mail template: renders email