Skip to content

Horlawhumy-dev/drugstoc_inventory

Repository files navigation

Drugstoc Inventory Management APIs

A Django backend for a inventory mananagement that manages users, products, orders and reports. It supports basic CRUD (Create, Read, Update, Delete) operations for all services.

Note: Future enhancements would be to use:

** Redis for catching ** Kafka for sending stream of orders ** Introduce email engine for notifications

Features

  • Endpoints for managing users authentication and authorization with RBAC
  • Endpoints for products where only admin can make full CRUD operations
  • Basic error handling
  • Normal users can create orders with list of products
  • Reporting endpoints for sales and products stock management

SQL Database Design

[SQLDesign](https://drawsql.app/teams/peaknews/diagrams/drugstoc-inventory)

Getting Started

Prerequisites

  • Python 3.7+ install
  • Make install

Installation

  1. Clone the repository:

    git clone https://github.com/Horlawhyumy-dev/drugstoc_inventory.git
    cd drugstoc_inventory
    
    
  2. Create Virtual Environment and Install Requirements

        python3 -m venv env
        source env/bin/activate  # On Windows use `env\Scripts\activate`
        make install
  3. Run Migrations

        make migrate
  4. Run and Execute Tests Script

         ##Make the script executable by
         chmod +x run_tests.sh
        ./run_tests.sh
    
  5. Start Server

        make runserver
  6. Create Super User

        make createsuperuser

Internal API Endpoints Documentation

```
    ./api_doc.txt file
```

Assessment Feedback 🙏

About

Drugstoc BE Interview Technical Assessment

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages