scroll
Home/Projects/MediStore
Live System Online
Est. Read: 5-7 minutes
Project screenshot
Project screenshot
Project screenshot
← Swipe LeftSwipe Right →

MediStore

MediStore is a robust full-stack e-commerce platform for pharmaceutical products, featuring a modern Next.js frontend with multi-role dashboards and a secure Express.js backend powered by PostgreSQL and Prisma ORM.

Senior Full-Stack Developer
E-commerceHealthcareFull-Stack

Project Overview

MediStore is a sophisticated full-stack e-commerce application designed specifically for pharmaceutical products. It provides a seamless experience for customers to browse and purchase medicines, robust tools for sellers to manage their inventory and orders, and powerful administration capabilities to oversee the entire platform.

The frontend, built with Next.js and the App Router, leverages React for a highly interactive user interface. It features dynamic routing for distinct dashboards catering to Admin, Seller, and Customer roles, ensuring a tailored experience. Key functionalities like product display, search, filtering, shopping cart management, user profiles, and order tracking are delivered with a focus on performance and user experience using server and client components, optimized with `next/font` and a responsive design.

On the backend, MediStore employs a high-performance Express.js server written in TypeScript. It provides a secure and scalable RESTful API for all frontend interactions. Data persistence is managed efficiently using PostgreSQL, with Prisma ORM streamlining database operations, migrations, and schema management. Robust authentication and authorization are handled by `better-auth`, complemented by `bcrypt` and `scrypt-js` for secure password hashing, and `nodemailer` for essential communication like order confirmations.

Core Features

**Multi-Role Dashboards**: Dedicated interfaces for Administrators, Sellers, and Customers.
**Comprehensive Product Management**: Sellers can add, edit, and monitor medicine stock; customers can browse, search, and filter products.
**Secure Authentication & Authorization**: Robust user management with role-based access control using `better-auth`.
**Efficient Order Workflow**: From cart to checkout, with detailed order tracking for customers and management tools for sellers and admins.
**Review and Rating System**: Empowering users to provide feedback on products.
**Admin Oversight**: Full control over users, categories, seller requests, and overall platform health.

This project demonstrates a strong understanding of modern full-stack development, integrating powerful technologies like Next.js App Router, Express.js, and Prisma to create a scalable, secure, and user-friendly e-commerce platform capable of handling complex business logic and diverse user interactions.

MediStore is a robust full-stack e-commerce platform for pharmaceutical products, featuring a modern Next.js frontend with multi-role dashboards and a secure Express.js backend powered by PostgreSQL and Prisma ORM.

Key Features

Responsive Mobile-First Design for all devices

Advanced Medicine Search & Filtering by category or product

Secure Cart & Streamlined Checkout Process

Real-time Order Tracking & Personalized User Dashboard

Dedicated Seller Dashboard for Inventory & Sales Management

Comprehensive Admin Control Panel for platform oversight

Robust Role-Based Access Control (RBAC) & Secure Authentication

WCAG 2.1 AA Accessibility & Integrated Dark Mode Support

Multi-role dashboards for Admin, Seller, and Customer

Comprehensive product management and catalog browsing

Secure authentication, authorization, and user profile management

Shopping cart, checkout, and detailed order tracking

Integrated product review and rating system

Admin tools for users, categories, and seller request oversight

Responsive and intuitive UI with a custom component library

Challenges & Solutions

1

The Challenge

Implementing a robust and secure role-based access control system across both frontend UI rendering and backend API endpoints for Admin, Seller, and Customer roles.

The Solution

Utilized `better-auth` in the backend for secure token-based authentication and authorization middleware. On the frontend, implemented dynamic routing and component rendering based on authenticated user roles, ensuring only authorized content and actions are accessible.

2

The Challenge

Managing efficient and consistent data flow between a Next.js App Router frontend (mix of server/client components) and an Express.js REST API backend, including caching and data revalidation.

The Solution

Designed a clear service layer on the frontend (`src/services`) for API interactions, using `next/cache` and React's data fetching patterns (e.g., `fetch` in server components) for optimal performance. The backend exposed well-defined RESTful endpoints to ensure predictable data access and mutation.

3

The Challenge

Building a consistent and feature-rich UI with multiple complex components and interactions, while maintaining developer velocity and scalability.

The Solution

Adopted a component-driven development approach, creating a library of reusable UI components (`src/components/ui`) potentially inspired by Shadcn/ui. Modularized feature-specific components (`src/components/modules`) to enhance maintainability and collaboration.

Let's build the next big thing together.

I’m currently open to new projects and collaborations. If you have an idea, let’s make it a reality.

Start a Conversation

Continue the Journey

Image Optimizer
Next Project

Image Optimizer

View Project
MediStore | Projects - Rakib Hasan Sohag | Rakib Hasan Sohag