Abrila Web
B2B E-Commerce Platform for Lighting Fixtures
A full-featured B2B e-commerce platform for Fabrilamp, a Spanish lighting fixtures distributor. Built with offline-first architecture, role-based access control, and multi-language support to serve salesmen, customers, and administrators across markets.
Key Features
- Offline-first architecture with local SQLite database
- Role-based access control (Admin, Salesman, Customer, Employee)
- Multi-language support (i18n)
- Product catalog with advanced filtering and search
- Shopping cart with B2B order workflow
- Dashboard with invoices, orders, and documents
The Challenge
Fabrilamp, a Spanish lighting fixtures distributor, needed a modern web platform to replace their legacy ordering system. Their sales team, customers, and internal staff all required different views and permissions across a catalog of thousands of products. The platform had to work reliably in areas with poor connectivity, support multiple languages for international markets, and handle complex B2B ordering workflows including custom pricing, shipping terms, and invoice management.
Our Approach
We built the platform on Next.js 15 with an offline-first architecture, storing the full product catalog and user data in a local SQLite database via Drizzle ORM. This ensures the application remains fully functional even without an internet connection, syncing changes when connectivity is restored. Server-side rendering provides SEO benefits for the public-facing catalog, while role-based access control gates features and data visibility per user type. The UI is built with Radix UI primitives and Tailwind CSS for a consistent, accessible design system, and TanStack Query manages server state with intelligent caching and background updates.
Technical Highlights
- Offline-first SQLite sync All product data, images, and user information are stored locally in SQLite via Drizzle ORM, with a background sync mechanism that reconciles changes with the server
- Dynamic slug-based routing Product and category pages use dynamic slug routing with server-side rendering for SEO, falling back to client-side navigation for instant transitions
- Role-based dashboards Each user role (Admin, Salesman, Customer, Employee) gets a tailored dashboard with relevant KPIs, order history, and management tools
- Multi-language support Full i18n implementation covering product descriptions, UI labels, and transactional emails across supported languages
- Pre-resolved image URIs Product image URIs are resolved at the data layer rather than at render time, eliminating redundant queries and improving page load performance
- B2B order workflow Complete order lifecycle management including draft carts, approval flows, custom pricing tiers, and integration with the distributor’s invoicing system
Gallery
Next project
Kukd.com
Start a project
Have a project in mind?
We'd love to hear about it. Drop us a line and let's talk about how we can bring your idea to life.
hello@wandity.com