/order-management

Order management system

Primary LanguageGo

Logistics Manager App (Technical Test)

Getting Started

To get started with this application, you need to have Go, Docker, and Docker Compose installed on your system.

Prerequisites

Installation

  1. Clone this repository:

    git clone https://github.com/hesam-khorshidi/order-management/
  2. Change into the project directory:

    cd order-management

Running Locally

To run the application locally, follow these steps:

  1. Start the application using docker-compose:

    docker-compose up
  2. The application will start, and you can access it at http://localhost:8080.

Project Structure

project
└───common
│   └─── utils.go # Contains utility functions
│      
└───controller
│   └─── order_controller.go
|   └─── provider_controller.go
|
└───entity
|   └─── customer.go
|   └─── dto.go
|   └─── order.go
|   └─── provider.go
│      
└───providers
│   └─── database_provider.go
|   
└───repositoty
|   └─── order_repository.go
|   └─── provider_repository.go
│      
└───routers
│   └─── router.gp
|
└───service
|   └─── order_service.go
|   └─── provider_service.go
|   └─── sms_service.go
|
│   README.md
│   Dockerfile # Dockerfile for building the Go application
│   docker-compose.yml # Docker Compose file for running the application and database
│   go.mod # Go module file
│   go.sum # Go module sum file
│   main.go # Main application entry point
│   .gitignore
└   .env # Application configuration

Dependencies

This application uses the following dependencies:

  • Gin: Web framework for Go.
  • GORM: Object-relational mapping library for Go.

TODO

Adding swagger to project is a priority to create a better API documentation