Welcome to the Logistics Management System! This project is a basic implementation of a logistics management system, developed as part of a startup's technical evaluation process. This README will provide you with an overview of the project's components, functionality, and how to set it up.
The Customs Management System is a web application designed to manage various aspects of customs operations. It includes features for registering clients, managing products, handling authentication, and conducting searches based on specific criteria.
- Authentication: Secure user authentication and registration processes.
- Client Management: Register and retrieve client information.
- Product Management: Create, update, delete, and retrieve product information.
- Search Functionality: Search for products based on specific criteria.
- Logging and Error Handling: Detailed logging and error handling mechanisms.
- API Versioning: API endpoints are versioned to ensure backward compatibility.
The project is organized into the following main components:
auth
: Authentication-related functionality.client
: Client management functionality.config
: Configuration management for the application.database
: Database-related functionality and repositories.migrations
: Database migration scripts.product
: Product management functionality.search
: Search functionality for products.server
: Core components for setting up the server and handling requests.utils
: Utility functions used across the project.
To get started with the project, follow these steps:
- Clone the Repository: Start by cloning the project repository to your local machine.
- Set Up Configuration: Configure the application settings by modifying the
config.env
file with appropriate values. - Install Dependencies: Install project dependencies by running
go get
in the project root directory. - Database Setup: Configure the PostgreSQL database settings in the
config.env
file and ensure the database is accessible. - Run the Application: Execute the main application file to start the server. The application will listen on the specified port.
The project relies on the following major dependencies:
- Gin: A web framework for building APIs in Go.
- PostgreSQL: A powerful, open-source relational database system.
- JWT: JSON Web Tokens for secure authentication and token-based authorization.
Please ensure you have these dependencies installed and properly configured before running the application.
Once the application is up and running, you can use API endpoints to interact with the system. Refer to the documentation provided by the startup for details on the available endpoints, request formats, and responses.