Project Name: Fashion Designer Order & Client Management API
Category: Inventory Management (Back-End)
Description: This API is designed to help fashion designers and tailoring businesses efficiently manage their operations through a centralized system. It provides structured endpoints for managing inventory items, customers, orders, and order items, ensuring accurate tracking of stock levels and customer requests.
The system enables designers to:
- Maintain a well-organized inventory of fashion items and materials
- Create and manage customer orders seamlessly
- Track order progress, delivery status, and timelines -Associate orders with specific inventory items and quantities
- Improve operational efficiency and reduce errors caused by manual record-keeping
By exposing a clean and scalable API, the platform supports integration with web or mobile applications used in day-to-day fashion business operations.
Target Users: Fashion designers, boutique managers, tailors handling multiple clients and custom orders.
Managing inventory and orders manually within fashion businesses often leads to inefficiencies, inconsistencies, and loss of critical data. Designers and small fashion houses struggle with keeping accurate records of available items, tracking order fulfillment, and maintaining up-to-date stock levels as orders are created, updated, or canceled.
Common challenges include:
- Lack of real-time visibility into inventory availability
- Difficulty tracking inventory usage across multiple orders
- Errors caused by duplicate records or outdated stock information
- Inefficient order processing and fulfillment workflows
In alignment with the ALX inventory management problem statement, this project addresses these challenges by providing a structured API that enables accurate inventory tracking, controlled order creation, and consistent data management. The goal is to improve reliability, scalability, and transparency in fashion order and inventory management systems.
- Implement full CRUD operations for inventory items
- Enable inventory tracking and association with customer orders
- Provide CRUD operations for customers and orders
- Manage customer measurements and order-specific details
- Upload and store customer style reference images
- Track order timelines, delivery dates, and order status
- Record pricing and payment status for orders
- Implement authentication, authorization, and role-based access control
| Feature | Description |
|---|---|
| Inventory Management | Add, update, delete, and view inventory items, including quantity and availability |
| Customer Management | Add, update, delete, and view customers |
| Order Management | Create, update, delete, and track orders |
| Measurements Management | Record and update customer measurements |
| Style Images | Upload and manage images of customer styles |
| Timeline & Delivery | Track order progress, expected delivery, and completion |
| Payment & Pricing | Record payment status and order price |
| Authentication | Secure access for designers and team members |
| User and Role Management | Manage designer accounts, roles, and permissions for access control |
- Backend: Django + Django REST Framework
- Database: MySQL (or SQLite for local dev)
- Deployment: PythonAnywhere or Heroku
- Authentication: Token-based (DRF Auth)
- Permissions: Django permissions / DRF permissions
- Version Control: GitHub
| Model | Fields | Description |
|---|---|---|
| InventoryItem | inventory_item_id, name, description, quantity, price, category, created_at, updated_at, created_by, updated_by | Stores available inventory items and stock levels |
| InventoryChange | change_id, inventory_item, old_quantity, new_quantity, changed_at, changed_by | Logs every inventory quantity update |
| Customer | customer_id, name, email, phone, created_at | Stores customer information |
| Order | order_id, customer, order_status, price, payment_status, delivery_date, created_at, updated_at, created_by, updated_by | Stores each order |
| OrderItem | order_item_id, order, inventory_item, size, quantity, created_at | Represents items within an order |
| Measurement | measurement_id, customer, order, type, values, created_at, updated_at | Stores measurements for an order |
| Image | image_id, order, image_file, description, uploaded_at, uploaded_by, deleted_at, deleted_by | Stores style images for an order |
| User | user_id, username, email, first_name, last_name, role (admin, junior_admin), is_active, date_joined | For authentication and role management: Lead designers have full access; junior designers have restricted access to measurements and images only |
| Endpoint | Method | Description |
|---|---|---|
| /inventory/ | GET, POST | List or create inventory items |
| /inventory/{id}/ | GET, PUT, PATCH, DELETE | Retrieve, update, or delete an inventory item |
| /customers/ | GET, POST | List or create customers |
| /customers/{id}/ | GET, PUT, DELETE | Retrieve, update, or delete a customer |
| /orders/ | GET, POST | List or create orders |
| /orders/{id}/ | GET, PUT, DELETE | Retrieve, update, or delete an order |
| /order-items/ | GET, POST | Create or view order items |
| /order-items/{id}/ | GET, PUT, DELETE | Manage individual order items |
| /measurements/ | GET, POST | Add or view measurements |
| /measurements/{id}/ | GET, PUT, DELETE | Update or delete a measurement |
| /style-images/ | GET, POST | Upload or view style images |
| /style-images/{id}/ | GET, PUT, DELETE | Manage individual style images |
| /orders/{id}/status/ | PATCH | Update order status (pending → in progress → completed) |
| /users/ | GET, POST | List or create users |
| /users/{id}/ | GET, PUT, DELETE | Retrieve, update, or delete users |
| /auth/login/ | POST | Login and obtain token |
| /auth/logout/ | POST | Revoke token |
| Week | Focus | Deliverables |
|---|---|---|
| Week 1 | Idea & Planning | Project plan document, peer review |
| Week 2 | Design Phase | ERD diagram, API endpoint list, peer review |
| Week 3 | Start Building | GitHub repository, basic models & endpoints |
| Week 4 | Continue Building | Full CRUD functionality, status endpoints, image uploads, payment tracking, updated GitHub |
| Week 5 | Final Submission | Complete GitHub repo, deployed API, 5-min demo video |
- All CRUD operations function correctly
- Authentication protects sensitive endpoints
- Users can only perform actions allowed by their role, e.g., junior designers cannot modify order details or payment details.
- Orders and timelines can be tracked accurately
- Images upload and retrieve properly
- Payment and delivery statuses update correctly
- API deployed and accessible on hosting platform
- Positive peer and mentor feedback
| Risk | Mitigation |
|---|---|
| Deployment issues | Use Heroku/PythonAnywhere tutorials in advance |
| Image storage errors | Use proper media handling in DRF & test locally |
| Timeline mismanagement | Strict weekly planner & progress tracking |
| Database integrity issues | Use Django ORM & validations |