Skip to content
This repository has been archived by the owner on May 4, 2024. It is now read-only.

jhordyess/orders-manager-php

Repository files navigation

Orders manager with PHP

Order management solution, for retail stores. My first Full Stack app in 2019 🤓.

Also, you can check out my second Full Stack app: orders-manager-java.

Description

This project is a web application for managing orders, customers, products, and suppliers. It was developed for a retail store.

The project was initially created using Sublime Text and XAMPP in 2019 and later transitioned to VSCode in 2022. It's primarily built with Vanilla PHP version 7 and utilizes a MySQL 5.7 database, while Apache serves as the server. Deployment can be easily accomplished using Docker.

For more information on deploying PHP applications in Docker, you can refer to this tutorial: dockerizing-a-php-application.

Some of the features are:

  • Manage customers, products, suppliers, and orders.
  • Generate PDF invoices and order itineraries.
  • Review customer and product details.
  • Review order status: orders, canceled, shipped, payment debts.

Technologies Used

Screenshots

Dashboard New order Order list Invoice with LaTeX DDBB with phpMyAdmin Designer

How to use for development

You can use the VSCode dev containers to run the project in a containerized environment.

You need to have installed Docker and VSCode, and the Dev Containers extension.

  1. Clone this repository
git clone git@github.com:jhordyess/orders-manager-php.git
  1. Open the project in VSCode
code orders-manager-php
  1. Create a .env file in the root folder by copying the example from the .env.example file.

  2. Open the integrated terminal (Ctrl+Shift+`) and run the following command:

docker compose -f docker-compose.dev.yml up -d
  1. Open the command palette (Ctrl+Shift+P) and select the option Dev Containers: Open folder in Container.

  2. Select the folder php-app and wait for the container to be built.

  3. Open the integrated terminal (Ctrl+Shift+`) and run the following command:

apache2-foreground
  1. Open the browser and visit http://localhost:80/

How to use for production

To run the project in production mode, remember to create the .env file in the root folder by copying the example from the .env.example file.

Then, run the following command:

docker compose -f docker-compose.prod.yml up -d

To stop or remove the containers, use the following commands:

docker compose -f docker-compose.prod.yml down

Take note that this production configuration is just for testing purposes, and maybe need some changes to be used in a real production environment.

To-Do

  • The project was originally created in Spanish, and still needs to be translated.
  • Migrate to PHP 8.
  • Migrate MySQL 5.7 to 8.0(LTS).
  • Unnecessary event field for order registry.
  • Fix database backup download.
  • Fix login, users and roles.

Contribution

If you would like to contribute to the project, open an issue or make a pull request on the repository.

License

© 2022 Jhordyess. Under the MIT license. See the LICENSE file for more details.


Made with 💪 by Jhordyess