Skip to content

addod19/allopharma

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

671 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📦 HaloPharma — Full Stack Pharmacy Web Application

A modern, full-stack pharmacy management and e-commerce platform built with Ruby on Rails (API) and React. Designed for scalability, real-time interaction, and production-grade reliability.

⚠️ Status: In Progress — Actively developing. Open to collaboration and feedback.


🚀 Features

  • 🛍️ Medication Catalog with image uploads, categories, prices, and pharmacy ownership
  • 🧾 Cart System with dynamic updates, item quantities, and cart-item grouping by pharmacy
  • 💳 Stripe Integration for secure, real-time payments
  • 📄 Prescription Upload required for controlled medications
  • 🧑‍⚕️ Role-Based Access Control
    • Customer: Search and purchase medications
    • Pharmacy Agent: Manage medications
    • Delivery Agent: View and fulfill assigned deliveries
    • Admin: Invite and manage agents, assign deliveries
  • ✉️ Invitation System using Action Mailer with tokenized email links
  • 📡 Real-Time Notifications via Action Cable (WebSockets)
  • 🧾 PDF Order Summaries downloadable post-payment
  • 🗂️ Paginated Listings using Pagy
  • 🔒 JWT Authentication

🧱 Tech Stack

Layer Technology
Frontend React + TypeScript + React Query + Bootstrap
Backend Ruby on Rails (API-only)
Realtime Action Cable
Auth Devise, Devise-JWT
Payments Stripe Checkout & Webhooks
File Uploads ActiveStorage (with FormData support in React)
Database PostgreSQL
Background Jobs Sidekiq
Pagination Pagy

📸 Screenshots (Coming Soon)

  • Admin Dashboard Admin Dashboard
  • Pharmacy Agent Dashboard Pharmacy Agent Dashboard Pharmacy Add Medication Pharmacy Profile Pharmacy Info
  • Delivery Agent Dashboard Delivery Agent Dashboard Delivery Profile Delivery Info
  • Customer Medication Search & Cart Customer Medication Search
  • Admin Invite Panel Admin Invite
  • Email invitation link Email invite link
  • Pharmacy Agent Upload Medication Pharmacy Medication Upload
  • Order Detail with Prescription Upload Order details with prescription upload
  • Order detail without prescription Order detail without prescription
  • Stripe Checkout Stripe checkout

🧪 Current Progress

  • User Authentication
  • Role Management (Admin, Customer, PharmacyAgent, DeliveryAgent)
  • Cart & Checkout Flow
  • Stripe Webhook Integration
  • File Uploads (ID card, Logo, Prescription)
  • ActionCable Admin Notifications
  • Admin Dashboard (in progress (80%))
  • Pharmacy Agent Dashboard (in progress (80%))
  • Delivery Agent Dashboard (in progress (80%))
  • Order Assignment Workflow
  • Mobile Responsiveness & UI Polishing
  • Production Deployment Setup (Fly + fly volumes for images)
  • Continous Integration and Development (CI/CD)

🛠️ Setup Instructions

Backend (Rails API)

git clone https://github.com/addod19/halopharma.git
cd halopharma
cd backend
bundle install
rails db:create db:migrate
rails s

Sidekiq

bundle exec sidekiq

Stripe Webhook

stripe listen --forward-to localhost:3000/api/v1/stripe_webhook

Frontend (React)

git clone https://github.com/addod19/halopharma.git
cd halopharma
cd frontend
npm install
npm start

🧠 Highlights & Why It Matters

  • Real-world complexity: Role-specific registration flows, prescription validation, multi-model associations, and Stripe integration mirror production-grade app logic.
  • Security-first: Uses JWT with role scoping, invitation token expiration, and secure uploads.
  • Scalable: Jobs offloaded with Sidekiq, image attachments handled via ActiveStorage, real-time features powered by WebSockets.
  • Recruiter-Ready: This project is in active development with clean code, clear structure, and professional architecture.

🙋‍♂️ Why I Built This

HaloPharma is a portfolio project to demonstrate my full-stack engineering skills and ability to build secure, scalable, and production-ready apps. It's designed to showcase:

  • End-to-end system design
  • Real-time interaction using ActionCable
  • Stripe integration with proper webhook handling
  • React and Rails API communication via token-auth

📮 Contact Me

If you’re hiring or interested in my work:

Daniel Addo Larbi
📧 addodaniellarbi@gmail.com
🌐 LinkedIn
📁 Résumé available on request


📌 License

This project is for production purposes, and once completed, it will be available for commercial use.

About

AlloPharma is a pharmacy which has pharmacy agents, delivery agents, customers and an admin who manages the various types of users

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors