Skip to content

An efficient web tool for automated document generation, aiding companies in shipment processing. It enhances efficiency and reduces errors for companies

License

Notifications You must be signed in to change notification settings

dev-lymar/Melnichanka

Repository files navigation

Python Django REST Framework PostgreSQL Redis Docker Nginx Psycopg2-binary Gunicorn pytest Ruff SimpleJWT

Melnichanka

Table of Contents

How to run the project

  1. Install Docker and Docker Compose To get started with Melnichanka, you will need to have Docker and Docker Compose installed on your system. You can follow the instructions for your operating system here and here.

Once you have Docker and Docker Compose installed, follow these steps to start the project:

  • Clone the repository:
git clone https://github.com/KroshkaByte/Melnichanka.git
cd Melnichanka
  • Start the project from root directory:
docker-compose up -d --build

Project Description

Melnichanka is a web application designed to facilitate the process of submitting shipment applications to consignees. The application generates a package of documents required for shipment based on user input, including information about goods, brands, factories, and packages.

The application is intended to be used by companies that need to submit shipment applications on a regular basis. By using Melnichanka, companies can streamline the process of generating the necessary documents, reduce errors, and save time and resources.

The application includes a user-friendly interface that allows users to easily enter data and generate documents. The interface is designed to be intuitive and easy to use, even for users with little or no technical experience.

Melnichanka is built using modern web technologies, including Django, a popular web framework for Python. The application is containerized using Docker and Docker Compose, making it easy to deploy and scale.

Overall, Melnichanka is a powerful and flexible tool that can help companies save time and resources when submitting shipment applications. By automating the process of generating documents, Melnichanka can help companies reduce errors, improve efficiency, and focus on their core business.

Usage

To use Melnichanka, follow these steps:

  • Enter the required information about the goods, brands, factories, and packages.
  • Click the Generate Documents button to generate the package of documents required for shipment.
  • Review the generated documents and make any necessary edits.
  • Download the documents in the desired format (e.g., PDF, Word, Excel).
  • Submit the documents to the consignee as required.

Database Pre-population

To pre-populate the database with some initial data, you can use the provided script. This script utilizes the Faker library to generate fake data.

Please follow the steps below to run the script:

  • Navigate to the root directory of the project in your terminal.

  • Run the following command:

python3 manage.py runscript faker_script

Make sure django-extensions is installed and added to INSTALLED_APPS in your Django settings.

This command will execute the faker_script script, which will then populate the database with the generated data.

Please note that the data generated by the Faker library is random and does not represent any real information.

Ensure that your virtual environment is activated before running the commands, if you're using one.

Documentation

API documentation is available through Swagger UI and ReDoc.

For local access, navigate to Swagger UI and ReDoc in your browser after starting the project.

Testing

To run the tests, navigate to the root directory of the project (where the manage.py file is located) and run the following command:

pytest .

or

python3 -m pytest .
  • To run tests for a specific application (such as goods, logistics, users, etc.) use the following command:
pytest goods
pytest logistics
pytest users
pytest clients
pytest makedoc

Contributing

We welcome contributions to Melnichanka. To contribute:

  1. Fork the repository.

  2. Create a new branch for your changes.

  3. Make your changes and commit them to your branch.

  4. Update your branch from the main repository:

    git fetch upstream
    git merge upstream/main
  5. Submit a pull request.

We will review your pull request and provide feedback as needed.

License

This project is licensed under the MIT License. See the LICENSE file for more information.

About

An efficient web tool for automated document generation, aiding companies in shipment processing. It enhances efficiency and reduces errors for companies

Topics

Resources

License

Stars

Watchers

Forks

Languages