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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python Django REST Framework PostgreSQL Redis Celery RabbitMQ Docker Nginx Psycopg2-binary Gunicorn pytest Ruff SimpleJWT pre-commit Flake8 mypy

Melnichanka

Table of Contents

Project Description

Melnichanka: Simplifying Shipment Application Submissions

Melnichanka is a web application designed to streamline the process of submitting shipment applications. It automates the generation of necessary documents based on user input, covering details such as goods, brands, factories, and packages.

Key Benefits:

  • Efficiency: Automates document generation to save time and resources.
  • Accuracy: Reduces errors associated with manual data entry.
  • Accessibility: User-friendly interface ensures ease of use, suitable for all levels of technical proficiency.
  • Convenience: Simplifies the submission process, even for users with minimal technical experience.

Technological Foundation:

  • Built with Django: Utilizes the robust Django framework for Python, ensuring reliability and flexibility.
  • Containerized with Docker: Deployed using Docker and Docker Compose, enabling easy scalability and deployment.

Target Audience:

Designed for companies needing to submit shipment applications regularly. Ideal for organizations seeking to enhance efficiency, minimize errors, and optimize resource allocation.

Conclusion:

Melnichanka empowers companies by automating the creation of shipment documents, enabling them to focus on core business activities. It stands as a powerful tool for improving operational efficiency and streamlining document submission processes.

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

Environment Configuration

You need to manually update this secret in your .env file each time it changes.

Additionally, create a .env file in the root directory based on the provided .env.example. Fill in your own data and rename the file to .env.

Please note that the Django secret key used in the .env.example is just an example. You can generate a new key using the following command:

from django.core.management.utils import get_random_secret_key

print(get_random_secret_key())

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.
  • Verify all the data and create an archive with documents.
  • Download the archive of documents in Excel format.
  • 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

Packages

 
 
 

Languages