Skip to content

hallame/microcrm

Repository files navigation

Micro CRM — Product and Order Management System

This project was developed as part of a technical test.
It is a system for managing products, warehouses, orders, and stock movements, built with Laravel.

🔗 Live Demo: microcrm.omizix.com

Screenshots

Dashboard

Dashboard
Main dashboard page showing summary stats.

Dashboard 2

Dashboard 2
Alternative dashboard view.

Warehouses

Warehouses
List of warehouses and their stock levels.

Products

Products
List of products with CRUD operations.

Add Product

Add Product
Form to add a new product.

Orders

Orders
List of orders with status.

Add Order

Add Order
Form to create a new order.

Movement History

Movement History
History of stock movements with filters.

Screenshots show the main pages: dashboard, CRUD operations, orders, and stock movement history.


Technologies Used

  • PHP 8.3.17
  • Laravel 12.2
  • MySQL
  • Bootstrap 5
  • Blade
  • REST API
  • Artisan commands

Features

Part 1: Basic Management

  • CRUD operations for products
  • CRUD operations for warehouses
  • Stock management by warehouse
  • Create, update, cancel, and complete orders
  • Automatic stock updates

Part 2: Movement History

  • movements table tracks all stock changes
  • Records every movement: creation, update, order, cancellation, etc.
  • Web interface with filters by warehouse, product, and date
  • REST API endpoint /api/movements supports filtering and pagination

Part 3: Test Data

  • You can generate test data using the following Artisan command:
php artisan seed:test-data 

Will automatically create:

  • 10 warehouses
  • 50 products
  • Over 1000 stock records
  • Product movement history

API Endpoint

GET /api/movements

Allows fetching a list of product movements with support for filters and pagination.

Request Parameters:

  • product_id — Product ID (optional)
  • warehouse_id — Warehouse ID (optional)
  • from — Start date (format YYYY-MM-DD)
  • to — End date (format YYYY-MM-DD)
  • per_page — Number of records per page (default 15)

Example Request:

GET /api/movements?product_id=5&warehouse_id=2&from=2024-01-01&to=2024-12-31&per_page=5

Project Setup

git clone https://github.com/hallame/microcrm.git
cd microcrm
cp .env.example .env
composer install
php artisan key:generate
php artisan migrate
php artisan migrate:fresh --seed
php artisan serve

Author

Hormise ALLAME

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors