
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.



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.
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.
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.
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
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.
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.
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.
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.
Building a consistent and feature-rich UI with multiple complex components and interactions, while maintaining developer velocity and scalability.
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.
I’m currently open to new projects and collaborations. If you have an idea, let’s make it a reality.
Start a ConversationContinue the Journey
