loading...

About PanditProgrammer

PanditProgrammer is a Modern Personal Portfolio Website of Chandan Prajapati. We offer Software development services. Turn your idea into digital product.

Subscribe & Follow

Tomlynn – A Complete E-Commerce Platform with an Advanced Admin Panel

Ecommerce Website
Ecommerce Website
Ecommerce Website
Ecommerce Website
Ecommerce Website
Ecommerce Website
Ecommerce Website

Project Overview

Tomlynn is a full-stack e-commerce web application that I designed and developed to manage the complete lifecycle of an online retail business. The platform brings together a modern customer-facing storefront and a feature-rich administrative system in one maintainable application.

Customers can discover products, choose variants, manage a cart, apply discounts, complete secure payments, track deliveries, download invoices, review purchases, and request returns or exchanges. At the same time, administrators can manage the catalogue, inventory, orders, payments, customers, taxes, promotions, store content, staff permissions, and operational settings from a central dashboard.

The project was built as more than a simple shopping website. It addresses real operational requirements such as stock consistency, configurable shipping charges, coupon validation, Indian GST calculations, payment-signature verification, order-status history, transactional email notifications, PDF invoice generation, and role-based access control.

The Problem

Many small and growing online businesses depend on separate tools for product management, payments, inventory, invoicing, customer support, and content updates. This creates duplicated work, inconsistent data, difficult order tracking, and unnecessary operational costs.

Tomlynn solves this problem by providing a unified platform where the entire customer journey and the store's back-office operations can be managed together. Its modular architecture also makes it possible to extend the platform as the business grows.

Project Objectives

  • Create a smooth and responsive shopping experience across desktop, tablet, and mobile devices.
  • Provide flexible catalogue management for products with multiple attributes, variants, prices, images, SKUs, and stock levels.
  • Build a reliable checkout workflow with coupons, shipping charges, taxes, online payments, and inventory validation.
  • Give customers clear access to their orders, addresses, invoices, reviews, cancellations, returns, and exchanges.
  • Develop a secure admin panel with granular roles and permissions for store staff.
  • Automate operational tasks such as payment verification, invoice generation, shipping-label creation, and email notifications.
  • Keep business logic modular, reusable, and maintainable through dedicated service classes and event-driven workflows.

Key Features

Customer Storefront

  • Modern, responsive, and mobile-friendly storefront.
  • Product browsing by category with catalogue search and filtering.
  • Detailed product pages with galleries, pricing, availability, and configurable content tabs.
  • Product attributes and variants such as size, colour, material, or other business-defined options.
  • Variant-specific SKU, price, comparison price, images, and stock quantity.
  • Featured, trending, new, limited, and discounted product presentation.
  • Session-based cart for guests and persistent cart support for authenticated customers.
  • Automatic migration of a guest cart after the customer signs in.
  • Configurable shipping charge and free-shipping threshold.
  • Fixed-value and percentage-based coupon discounts.
  • Secure Razorpay online payment flow.
  • Order confirmation, payment status, and order-progress visibility.
  • Public order-status lookup for quick customer access.

Customer Account

  • Registration, login, logout, email verification, and password recovery.
  • Two-factor authentication with recovery codes.
  • Customer profile and account-settings management.
  • Multiple saved shipping addresses with a configurable default address.
  • Complete order history and individual order details.
  • Downloadable PDF invoices.
  • Order cancellation based on the current order state.
  • Return and exchange request workflows.
  • Product ratings and reviews with customer-uploaded images.
  • Wishlist interface for saving products for later.

Product and Inventory Management

  • Product category and subcategory management.
  • Reusable product attributes and attribute values.
  • Multiple variants under a single product.
  • Unique SKU validation for inventory accuracy.
  • Variant-level prices, discounts, images, and stock control.
  • Stock validation during checkout and before final order processing.
  • Automatic stock reduction after a successful order.
  • Automatic stock restoration when an eligible order is cancelled.
  • Product visibility, approval, featured, and trending controls.

Order and Payment Management

  • Structured order lifecycle with controlled status transitions.
  • Complete status history for operational traceability.
  • Razorpay order creation and payment-signature verification.
  • Signed webhook processing for asynchronous payment updates.
  • Support for test and live Razorpay environments.
  • Payment records linked directly to their associated orders.
  • Transaction-based checkout to protect order and stock consistency.
  • Customer and administrator order-confirmation emails.
  • Automated email notifications when an order status changes.
  • Order cancellation, return, and exchange administration.

Pricing, Coupons, Shipping, and Taxation

  • Centralised order-pricing service.
  • Percentage and fixed-value coupon discounts.
  • Coupon expiry dates, minimum-spend conditions, maximum discounts, and usage limits.
  • Configurable default delivery fee and free-shipping minimum.
  • Inclusive and exclusive tax calculation support.
  • India-focused GST implementation.
  • Intra-state CGST and SGST calculation.
  • Interstate IGST calculation.
  • GSTIN, place-of-supply, and tax-breakdown support on invoices.
  • Currency and currency-symbol configuration from the admin panel.

Invoices and Shipping Documents

  • Professionally formatted PDF invoices.
  • GST-ready tax invoices with detailed tax breakdowns.
  • Configurable company branding, business address, GSTIN, and invoice terms.
  • Individual and bulk invoice generation.
  • Barcode-enabled shipping labels.
  • Individual and bulk shipping-label generation for order fulfilment.
  • Reusable document-branding system for consistent business identity.

Administration Panel

  • Central dashboard for store operations.
  • Product, variant, image, category, and attribute management.
  • Order, payment, customer, return, and exchange management.
  • Coupon, tax, delivery-charge, and currency configuration.
  • Promotional banner management with product and category linking.
  • Customer management with account and order insights.
  • Contact-message and customer-enquiry management.
  • Dynamic website settings grouped by business function.
  • Store logo, company details, social links, support details, and maintenance-message configuration.
  • SMTP configuration with test-email functionality.
  • Blog post and post-category management.
  • Static-page management for policies and informational content.

Staff and Access Control

  • Separate authentication system for customers and administrators.
  • Multiple administrator and staff accounts.
  • Role-based access control using Spatie Laravel Permission.
  • Granular permissions for viewing, creating, editing, and deleting resources.
  • Protected super-administrator operations.
  • Permission-aware navigation and server-side authorization checks.

Security Features

Security was considered across authentication, authorization, checkout, payments, and data management.

  • Separate customer and administrator authentication guards.
  • Secure password hashing and password-reset workflows.
  • Email verification for protected account functionality.
  • Two-factor authentication with recovery codes.
  • Login and two-factor authentication rate limiting.
  • Role- and permission-based access to administrative operations.
  • Server-side validation for customer and administrator input.
  • CSRF protection for form submissions.
  • Payment-signature verification before accepting Razorpay transactions.
  • Webhook-signature verification before processing payment events.
  • Encrypted storage for sensitive payment and SMTP configuration values.
  • Database transactions for checkout, pricing redemption, address updates, cancellations, and inventory operations.
  • Revalidation of stock during checkout to reduce overselling risk.
  • Protected invoice and order routes tied to authenticated users.
  • Centralised authorization helpers for consistent permission enforcement.

Technical Highlights

Modular Service-Oriented Business Logic

Complex business rules are separated from the user interface and organised into dedicated services. The application includes services for order processing, order pricing, coupons, taxation, Razorpay payments, addresses, cancellations, invoices, document branding, barcodes, and shipping labels. This reduces duplication and makes the system easier to test, maintain, and extend.

Reactive Server-Driven Interface

Laravel Livewire is used to create interactive product forms, cart behaviour, checkout screens, customer dashboards, and admin-management pages without requiring a separate single-page application. This keeps the frontend responsive while preserving Laravel's server-side validation, authorization, and development workflow.

Reliable Checkout and Inventory Workflow

The checkout process validates the cart, customer address, coupons, tax rules, shipping configuration, and available inventory before creating the final order. Database transactions ensure that related records are created consistently. Stock is validated again during processing, reduced after successful confirmation, and restored when qualifying cancellations occur.

Secure Payment Integration

Razorpay is integrated through dedicated payment services rather than directly inside UI components. The platform creates gateway orders, records payment attempts, verifies payment signatures, validates webhook signatures, and supports separate test and live configurations.

Event-Driven Notifications and Documents

Order events and listeners separate post-checkout work from the main order flow. They are used to generate invoices and send customer and administrator emails, improving maintainability and supporting queue-based background processing.

Configurable Business Operations

Important business values are managed through the database-driven settings system instead of being hard-coded. Administrators can configure branding, currency, shipping charges, tax information, invoice details, SMTP delivery, payment settings, contact information, maintenance messaging, and social links without editing source code.

Maintainable Data Model

The relational data model separates products, variants, attributes, images, carts, orders, payments, addresses, reviews, taxes, coupons, and return requests. Eloquent relationships, query scopes, model events, observers, and database migrations keep data access organised and make future enhancements easier.

Architecture and Workflow

The application follows Laravel's MVC architecture with Livewire components providing reactive interfaces. Controllers and components handle incoming requests and presentation logic, Eloquent models define the data relationships, and service classes contain the main business rules.

A typical purchase follows this workflow:

  1. The customer browses the catalogue and selects a valid product variant.
  2. The selected item is added to a guest or authenticated shopping cart.
  3. At checkout, the application validates the address, coupon, shipping fee, tax rules, price, and available stock.
  4. The application creates the order and its item and address snapshots inside a database transaction.
  5. Razorpay creates the corresponding payment order.
  6. The returned payment signature is verified before the order is confirmed.
  7. Inventory is updated and the order status is recorded.
  8. An invoice is generated and confirmation emails are sent to the customer and administrator.
  9. Administrators process the order and update its status through the fulfilment lifecycle.
  10. The customer can track the order, download the invoice, review delivered products, or submit an eligible return or exchange request.

Development Challenges and Solutions

Challenge 1: Managing Products with Multiple Variants

Challenge: A product may have several option combinations, each with a different SKU, price, stock level, image set, and additional content. Managing these combinations can quickly become complex and error-prone.

Solution: I created a relational variant and attribute system that allows reusable product attributes and values to be assigned to individual variants. Each variant maintains its own commercial and inventory data while remaining connected to the parent product.

Challenge 2: Preventing Incorrect Orders and Stock Levels

Challenge: Prices and inventory can change while a customer is shopping. Relying only on values stored in the browser or cart can cause incorrect totals or overselling.

Solution: The application recalculates pricing and validates stock on the server during checkout and again during order confirmation. Critical operations run inside database transactions, and cancelled orders restore eligible stock quantities.

Challenge 3: Building a Trustworthy Payment Flow

Challenge: A payment response from the browser must not be trusted without verification, and delayed gateway events must still be processed safely.

Solution: I implemented server-side Razorpay signature verification, signed webhook validation, stored payment records, and separate payment-processing services. This ensures that an order is marked as paid only after the gateway data has been authenticated.

Challenge 4: Calculating Discounts, Shipping, and GST Correctly

Challenge: The final total depends on coupon conditions, shipping thresholds, inclusive or exclusive taxes, and the relationship between the seller's and customer's states.

Solution: I centralised calculations in pricing, coupon, and tax services. The system generates a reusable pricing breakdown and supports CGST/SGST for intra-state orders and IGST for interstate orders, with the same values preserved on the order and invoice.

Challenge 5: Keeping Order Operations Traceable

Challenge: Customers and staff need an accurate view of how an order progresses, while invalid status changes must be prevented.

Solution: I implemented controlled status transitions and a dedicated order-status history. Each valid change can trigger a customer notification, creating a clearer and more auditable fulfilment process.

Challenge 6: Supporting Multiple Administrative Responsibilities

Challenge: Not every staff member should have access to payments, taxes, customer data, content, or user management.

Solution: The admin panel uses granular role-based permissions. Access is enforced in both the navigation interface and server-side actions, allowing responsibilities to be assigned safely without giving every administrator unrestricted control.

Challenge 7: Generating Consistent Business Documents

Challenge: Invoices and shipping labels need accurate order snapshots, tax details, business branding, and print-friendly formatting.

Solution: I developed reusable invoice, branding, barcode, and shipping-label services. These services generate individual or bulk PDF documents with consistent company information and order data.

Primary Use Cases

For Customers

  • Browse and search an online product catalogue.
  • Select product options and see variant-specific price and availability.
  • Purchase products through a secure checkout.
  • Apply eligible promotional coupon codes.
  • Pay online using Razorpay.
  • Save addresses and manage account information.
  • Track an order and download its invoice.
  • Cancel an eligible order or request a return or exchange.
  • Rate products and publish reviews with images.

For Store Administrators

  • Create and maintain products, categories, attributes, and variants.
  • Monitor stock, SKUs, prices, and product visibility.
  • Process orders and update fulfilment statuses.
  • Verify payments and review payment records.
  • Generate invoices and shipping labels individually or in bulk.
  • Configure GST, coupons, delivery charges, and currency settings.
  • Handle cancellation, return, and exchange requests.
  • Manage customers, enquiries, banners, pages, and blog content.
  • Configure branding, emails, payment credentials, and store-wide settings.

For Store Staff

  • Access only the operational modules required for their role.
  • Process assigned catalogue, customer-service, content, or fulfilment tasks.
  • Work within permission boundaries defined by a super administrator.

Technology Stack

  • Backend: PHP 8.2+, Laravel 12
  • Interactive Components: Laravel Livewire and Volt
  • Authentication: Laravel Fortify and Laravel Sanctum
  • Frontend: Blade, JavaScript, Bootstrap, Tailwind CSS, Swiper, AOS, and GLightbox
  • Database: Relational database with Laravel Eloquent ORM and migrations
  • Build Tools: Vite and NPM
  • Payments: Razorpay API and signed webhooks
  • PDF Documents: DomPDF
  • Roles and Permissions: Spatie Laravel Permission
  • Architecture: MVC, service classes, events, listeners, observers, queues, and database transactions

My Role and Responsibilities

I designed and developed the complete platform, including:

  • Planning the application architecture and relational database structure.
  • Developing the customer storefront and responsive user interface.
  • Implementing customer and administrator authentication flows.
  • Building catalogue, variant, SKU, image, pricing, and inventory management.
  • Developing cart, checkout, coupon, shipping, tax, and order-processing logic.
  • Integrating Razorpay payments and secure webhook handling.
  • Creating customer dashboards, order tracking, reviews, cancellations, returns, and exchanges.
  • Generating branded invoices, tax breakdowns, barcodes, and shipping labels.
  • Building the administration dashboard and store-configuration system.
  • Implementing staff roles, granular permissions, and protected administrative actions.
  • Adding email notifications, content management, and customer-enquiry workflows.
  • Structuring reusable services to keep the application maintainable and scalable.

Business Value

Tomlynn provides the core tools required to operate an online retail business from a single application. It reduces manual work by connecting catalogue management, inventory, checkout, payments, taxes, order fulfilment, customer communication, and business documents. Its configurable settings and access-control system allow the platform to adapt to different store requirements and team structures.

Project Summary

Tomlynn demonstrates my ability to transform complex business requirements into a secure and user-friendly full-stack application. The project goes beyond visual storefront development by addressing the systems that make e-commerce work in practice: flexible product data, consistent inventory, verified payments, reliable pricing, GST-aware invoicing, fulfilment documents, customer self-service, operational automation, and controlled administrative access.

By developing both the customer experience and the back-office platform, I created a cohesive e-commerce solution that is practical for real business operations, maintainable for developers, and ready for continued growth.

Project Information

  • Project Type: Full-Stack E-Commerce Web Application
  • Industry: Retail and E-Commerce
  • Development Role: Full-Stack Developer
  • Primary Framework: Laravel 12
  • Payment Gateway: Razorpay
  • Status: Developed and actively enhanced
Tomlynn – A Complete E-Commerce Platform with an Advanced Admin Panel

Project Information

  • Owner : Tomlynn
  • Category : Ecommerce Website
  • Project URL : https://tomlynn.in
  • Published :

Color Settings