E-commerce platform focused on indigenous commerce: a marketplace where Mexican artisans (vendors) publish handcrafted products and share the cultural stories behind them. Built with Laravel 13.
- Shop: product catalog with category filters, product detail pages, search and a session-based shopping cart with checkout (orders + order items persisted per user).
- Stories: cultural stories managed from the admin panel; a featured story is highlighted on the home page.
- Roles:
comprador(buyer),vendedor(vendor) andadmin.- Buyers can upgrade themselves to vendors from the "Vender" page.
- Vendors manage only their own products through the admin panel.
- Admins manage products, users and stories, and can email users directly.
- Auth: registration, login, logout and a token-based password reset flow via email.
Product catalog — category filters and add-to-cart:
Product detail — stock, culture/technique and artisan info:
Shopping cart — quantities, totals and checkout:
Admin panel — product inventory management:
Login:
| Layer | Technology |
|---|---|
| Backend | PHP 8.4, Laravel 13 |
| Frontend | Blade templates, Vite, Tailwind-style utility classes |
| Database | SQLite by default (any Laravel-supported driver works) |
SMTP (log driver by default for local development) |
|
| Deploy | Nixpacks (nixpacks.toml), e.g. for Railway |
app/
├── Http/
│ ├── Controllers/
│ │ ├── Shop/ # Home, products, cart/checkout, vendor upgrade
│ │ ├── Auth/ # Password reset (link + new password)
│ │ ├── Admin/ # Dashboard, products, users, stories, user emails
│ │ ├── AuthController.php # Login / register / logout
│ │ └── AccountController.php # Profile, settings, security, orders
│ └── Middleware/ # AdminMiddleware, AdminOrVendorMiddleware
├── Mail/ # AdminUserMessage (admin → user email)
├── Models/ # User, Product, Story, Order, OrderItem
└── Notifications/ # ResetPasswordNotification
Requirements: PHP >= 8.4, Composer and Node.js.
git clone https://github.com/AdvantageLucky/Raices.git
cd Raices
composer run setup # composer install, .env, key, migrations, npm install + buildSeed demo data (admin user, artisans, products and stories):
php artisan db:seedcomposer run devThis starts the web server, the queue worker, the log tail (pail) and Vite concurrently. The app runs at http://localhost:8000.
Password reset and admin-to-user emails are sent through the mailer configured in .env (MAIL_*). For local development MAIL_MAILER=log writes emails to storage/logs/laravel.log instead of sending them.
composer run testnixpacks.toml defines the build (composer + npm + migrations) and the start command. Any Nixpacks-compatible platform (e.g. Railway) can deploy the repository as-is; set APP_KEY, APP_URL, the database and the MAIL_* variables in the platform's environment.




