Alex Leet

Back to Projects

Inventory Management System (Django Web App)

Stack: Django, MySQL, HTML, CSS, JavaScript

Overview

This project is a simple web app that helps keep track of products, suppliers, and orders. I built it to learn Django while practicing how to connect a website to a database and design a clear, easy-to-use dashboard. It includes full CRUD featuresβ€”add, edit, deleteβ€”and warns you when stock runs low.

Key Features

  • πŸ“¦ Manage products, suppliers, and orders with full CRUD support.
  • ⚠️ Automatic low-stock alerts when quantities drop below set levels.
  • πŸ“Š Dashboard summary showing recent activity and stock insights.
  • πŸ” Search and filters to quickly locate specific items.
  • πŸ› οΈ Simple, intuitive admin interface built with Django templates.

Design & UI Choices

I wanted the app to look clean and easy to use. The dashboard, tables, and reports all share the same simple layout so everything feels connected. Bright blue headers make each section stand out, and rounded corners with light shadows give the pages a softer look.

The goal was to make information easy to find at a glance. Tables are neatly lined up with clear headings and small icons to help identify what each column shows. Buttons like "View" and "Add" are placed where users expect them, and highlighted rows help call attention to important or recently updated items.

  • βœ… Blue headers for clear visual separation.
  • βœ… Rounded corners and soft shadows for a friendly feel.
  • βœ… Consistent spacing and simple layout for readability.
  • βœ… Highlight colors make key data easy to spot.

Project Structure

I kept the project organized by separating code, templates, and static files into different folders. This makes it easier to update parts of the app later and keeps everything neat and easy to find. Each file has a clear purposeβ€”for example, models.py stores the data setup, while views.py controls what shows up on each page.


Inventory_Management_System/
β”œβ”€β”€ manage.py
β”œβ”€β”€ ims_app/
β”‚   β”œβ”€β”€ models.py        # Product, Supplier, Order data
β”‚   β”œβ”€β”€ views.py         # Handles page logic and data flow
β”‚   β”œβ”€β”€ urls.py          # App routes
β”‚   β”œβ”€β”€ templates/       # HTML templates for each view
β”‚   └── static/          # CSS and JavaScript files
β”œβ”€β”€ ims_project/
β”‚   β”œβ”€β”€ settings.py      # App and database settings
β”‚   β”œβ”€β”€ urls.py          # Main URL routes
β”‚   └── wsgi.py          # Server entry point
└── db.sqlite3           # Local database
                

This layout follows common Django practices and keeps the project easy to maintain and expand with new features later on.

Screenshots