Project overview
I developed a full-stack B2B website and content management platform for JMJ Enterprise, a Sri Lankan supplier of printing materials and display systems. The platform brings the company's product range, technical specifications, business information, and enquiry channels together in a responsive public website, supported by a protected administration dashboard.
Project: JMJ Enterprise — B2B Product Catalogue & Admin CMS
Project type: Full-stack business website and quotation-based catalogue
My contribution: Responsive interface, application logic, database models, administrative workflows, media handling, and deployment
Live website: www.jmjenterprise.lk
Real-world business project — JMJ Enterprise
JMJ Enterprise is an operating Sri Lankan supplier of printing materials, signage media, and display solutions serving print shops, advertising agencies, businesses, and resellers. The business has a physical presence in Colombo and uses its website to showcase products and connect with customers.
I developed this full-stack website and administration platform for the actual business, not as a fictional or classroom demonstration. The system was designed around practical requirements: helping buyers find suitable materials, review sizes and specifications, request quotations, and contact the supplier while allowing authorized staff to update products and website content.
This work demonstrates the delivery of a production-facing digital platform for a real business, combining customer experience, operational content management, and maintainable full-stack engineering.
Business website: www.jmjenterprise.lk
The business challenge
For a supplier offering printing media, display materials, and accessories in different sizes and finishes, customers need clear product information before requesting a quotation. A static company website makes frequent catalogue updates difficult and can leave staff relying on manual website changes for routine product, image, and content updates.
The objective was to create a professional digital presence that supports product discovery and direct enquiries while giving the business a practical way to manage its own catalogue and published content.
What I built
Customer-facing experience
- Responsive business homepage: A branded introduction, company value propositions, featured products, and clear routes to catalogue browsing and quotation requests.
- Searchable product catalogue: Product browsing with category filters and text search across the available printing materials and display solutions.
- Dynamic product detail pages: Dedicated pages presenting descriptions, specifications, image galleries, and a request-a-quote action.
- Business enquiry flow: A validated contact form for customer enquiries, complemented by direct WhatsApp and telephone contact options.
- Business blog: Product guides and articles with dedicated pages and a customer comment interface.
- Business information: Contact details, location, operating hours, and policy pages presented in a consistent website layout.
Administration and content management
- Protected administration dashboard: Authenticated access to internal management screens.
- Product and category management: Create and update catalogue entries, descriptions, specifications, categories, and associated product images.
- Website content editor: Manage homepage sections and supporting site information through database-backed content records.
- Enquiry management: Review incoming customer enquiries and track their progress using New, In Progress, and Resolved statuses.
- Blog administration: Draft and publish articles, manage article media, and moderate reader comments and replies.
- Cloud media handling: Upload and organize images through an Amazon S3-backed media workflow.
Technical architecture
The application is built with Next.js App Router, React, TypeScript, and Tailwind CSS. Framer Motion supports interface animations. Server-side application logic is implemented with Next.js server functionality and API routes, while Prisma ORM connects the application to a PostgreSQL database.
NextAuth.js supports the admin login workflow, Amazon S3 stores uploaded media, and Nodemailer provides the email integration for enquiries and account-related workflows. The live application is deployed on Vercel, with Vercel Analytics integrated.
How the catalogue and enquiry workflows operate
- An authorized administrator manages products, categories, images, and website copy through the CMS.
- Application logic validates the changes and stores structured records in PostgreSQL through Prisma.
- The public site retrieves the relevant records and renders searchable product listings and individual product pages.
- Visitors review specifications and send quotation enquiries; submitted enquiries are validated and stored for administrative follow-up.
Key engineering decisions
Catalogue-first, quotation-based experience
Instead of implementing an unnecessary shopping cart or payment checkout, I focused on helping business customers understand materials, compare specifications, and contact the supplier for quantity-based pricing. This matches the company's wholesale enquiry workflow.
Structured product records and flexible page content
Products, categories, and image relationships use dedicated relational database models. Editable website sections use keyed content records, enabling updates to the homepage and business details without changing source code.
Server-side validation and protected administration
Administrative pages and media endpoints check access permissions. The enquiry endpoint validates required input and includes a honeypot field to discourage basic automated submissions. These measures support safer content and enquiry workflows without claiming that the application is immune to every attack.
Search visibility and shareable content
The implementation includes page-specific metadata, canonical links, sitemap and robots support, social preview metadata, and structured data for business, product, catalogue, and article pages where applicable.
Manageable media and publishing workflows
Cloud-hosted product and article imagery, categorized products, draft and published blog states, and comment moderation keep the public website maintainable as business information changes.
Outcome and lessons learned
The result is a deployed business platform at www.jmjenterprise.lk. It provides customers with a clear way to explore products and request quotations, while giving administrators tools to maintain product listings, page content, blog posts, and incoming enquiries.
Delivering this project for an operating business strengthened my experience in translating practical requirements into a production web application. It involved building a customer-facing platform while also considering the needs of the staff responsible for maintaining its content and handling enquiries.
This project strengthened my experience with production-oriented full-stack development, database-driven catalogue design, administrative interfaces, secure content workflows, cloud image storage, search-friendly page structure, and responsive business website delivery.