Skip to content

Features Overview โ€‹

EasyOTC provides a comprehensive set of features for managing pharmaceutical products, user administration, and e-commerce workflows. This section provides an overview of all available features and links to their detailed documentation.

Where to access โ€‹

SurfaceStaging URLLocal URL
Admin panel (Filament)https://stage-api.easyotc.com/adminhttp://localhost:8000/admin
Storefronthttps://stage.easyotc.comhttp://localhost:3000
Queue dashboard (Horizon)https://stage-api.easyotc.com/horizonhttp://localhost:8000/horizon

See /access for the full URL list and credential guidance.

Where this lives โ€‹

  • API repo: easy-otc-api (GitHub: Eliinova/the-one-otc-api)
  • Frontend repo: ../easty-otc (sibling directory to easy-otc-api)
  • Roles enum: app/Enums/RoleEnum.php (OTC_ONE_ADMIN, CARRIER_ADMIN, MEMBER, AGENT)

Core Features โ€‹

๐Ÿ“Š Models & Data Management โ€‹

  • Models Documentation - Complete documentation for all data models
    • User and Member management
    • Product catalog with specifications
    • Cart and Order management
    • Carrier and Category systems
    • Tag system (Spatie Tags)
    • Activity logging (Spatie Activity Log)

๐Ÿ›’ Shopping Cart System โ€‹

  • Cart Management - Shopping cart functionality
  • Cart Items - Individual cart item operations
  • Cart Services - Business logic for cart operations
    • Cart creation and management
    • Item addition and removal
    • Prescription validation
    • Cart expiration handling

๐Ÿ“ฆ Product Management โ€‹

๐Ÿ‘ฅ User Management โ€‹

๐Ÿฅ Healthcare Features โ€‹

๐Ÿ“‹ Order Management โ€‹

Technical Features โ€‹

๐Ÿ”ง Services Layer โ€‹

  • Services Documentation - Business logic services
    • CartService - Cart management operations
    • CartItemService - Cart item operations
    • FileUploadService - S3 file upload management

๐Ÿท๏ธ Tagging System โ€‹

  • Tag System - Spatie Laravel Tags integration
    • Multilingual tag support
    • Polymorphic relationships
    • Tag categorization
    • API endpoints for tag management

๐Ÿ“ Activity Logging โ€‹

  • Activity Log - Spatie Laravel Activity Log integration
    • Comprehensive change tracking
    • User attribution
    • Batch operations
    • Audit trail functionality

๐Ÿ” Authentication & Authorization โ€‹

๐ŸŽจ Admin Interface โ€‹

  • Super Admin Panel - Filament-based admin interface
    • User management
    • Product catalog management
    • Order processing
    • Activity monitoring
    • Export functionality

Integration Features โ€‹

๐Ÿ”Œ Third-party Packages โ€‹

  • Spatie Packages - Integration with Spatie packages
    • Laravel Tags for tagging system
    • Laravel Activity Log for audit trails
    • Laravel Permission for access control

๐Ÿ“Š Data Management โ€‹

๐ŸŒ API Integration โ€‹

Development Features โ€‹

๐Ÿงช Testing โ€‹

  • Test Coverage - Comprehensive test suite
  • Feature Tests - End-to-end testing
  • Unit Tests - Individual component testing

๐Ÿ“š Documentation โ€‹

๐Ÿ”ง Development Tools โ€‹

  • Database Migrations - Database schema management
  • Seeders - Sample data generation
  • Factories - Model factories for testing

Quick Start Guides โ€‹

For Developers โ€‹

  1. Installation - Set up the development environment
  2. Configuration - Configure the application
  3. Models - Understand the data structure
  4. Services - Learn about business logic services
  5. API Setup - Configure API endpoints

For Administrators โ€‹

  1. Admin Panel Setup - Configure the admin interface
  2. User Management - Manage users and permissions
  3. Product Management - Manage product catalog
  4. Order Processing - Process orders
  5. Activity Monitoring - Monitor system activity

For End Users โ€‹

  1. Frontend Guide - Using the web application
  2. Shopping Cart - How to use the shopping cart
  3. Order Management - Managing orders
  4. Member Features - Member-specific features

Architecture Overview โ€‹

EasyOTC follows a modern, scalable architecture:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚   Frontend      โ”‚    โ”‚   API Layer     โ”‚    โ”‚   Database      โ”‚
โ”‚   (Nuxt.js)     โ”‚โ—„โ”€โ”€โ–บโ”‚   (Laravel)     โ”‚โ—„โ”€โ”€โ–บโ”‚   (MySQL)       โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ”‚
                              โ–ผ
                       โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                       โ”‚   Services      โ”‚
                       โ”‚   Layer         โ”‚
                       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ”‚
                              โ–ผ
                       โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                       โ”‚   Models        โ”‚
                       โ”‚   Layer         โ”‚
                       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Feature Status โ€‹

FeatureStatusDocumentation
User Managementโœ… CompleteUser Model
Product Managementโœ… CompleteProduct Model
Cart Systemโœ… CompleteCart Model
Order Managementโœ… CompleteOrder Model
Admin Panelโœ… CompleteAdmin Panel
Tag Systemโœ… CompleteTag System
Activity Loggingโœ… CompleteActivity Log
File Uploadโœ… CompleteFile Upload Service
API Endpointsโœ… CompleteAPI Documentation
Frontendโœ… CompleteFrontend Guide

Getting Help โ€‹