IUBAT - Practicum Project
Online24Pharmacy is a modern, full-featured online pharmacy platform. It provides a seamless experience for users to browse, order, and manage pharmacy products and prescriptions online. The project includes both frontend (React) and backend (Node.js/Express, Prisma) components.
- User Browsing: Users can browse products, categories, and promotions on the homepage and product pages.
- Authentication: Users can register, log in, and manage their accounts securely.
- Cart & Checkout: Add products to cart, upload prescriptions, and proceed to checkout.
- Order Management: Users can view order history, track orders, and manage prescriptions.
- Admin Panel: Admins can manage products, categories, orders, users, and view analytics.
- Chatbot & Support: Integrated chatbot for instant support and FAQs.
- Notifications: Users receive notifications for order status, promotions, and reminders.
- Node.js (v18+ recommended)
- npm (comes with Node.js)
- (Optional) PostgreSQL or SQLite for database (configured in
prisma/schema.prisma)
git clone https://github.com/shawon2210/Online24Pharmacy.git
cd Online24Pharmacynpm install- Edit
prisma/schema.prismaif needed for your DB setup. - Run migrations and seed data:
npx prisma migrate dev --name init
npx prisma db seedCopy .env.example to .env and configure the following:
cp .env.example .envRequired Environment Variables:
DATABASE_URL- PostgreSQL connection stringJWT_SECRET&JWT_REFRESH_SECRET- For authenticationOPENAI_API_KEY- OpenAI API key (get from OpenAI Platform)GEMINI_API_KEY- Google Gemini AI API key (optional, get from Google AI Studio)
Optional Variables:
CLOUDINARY_*- For image uploadsEMAIL_*- For email notificationsTWILIO_*- For SMS notificationsBKASH_*&SSLCOMMERZ_*- For payment gatewaysVITE_GOOGLE_MAPS_API_KEY- For map display
npm run devThe app will be available at http://localhost:5173 (or as shown in the terminal).
npm run buildnpm testsrc/- Frontend React code (components, pages, hooks, contexts)server/- Backend Node.js/Express code (routes, controllers, middleware)prisma/- Prisma schema and seed scriptspublic/- Static assets (images, manifest, service worker)data/- Sample data
- Pull requests are welcome.
- For major changes, open an issue first to discuss what you would like to change.
- For help, see the issues section or contact the maintainer.
MIT Deliveryman: DELIVERY2026 Pharmacist: PHARMA2026 Supplier: SUPPLY2026