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.
- Install
Docker
andDocker 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
- Open your web browser and navigate to http://localhost:80 to access the application.
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())
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.
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.
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.
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
We welcome contributions to Melnichanka. To contribute:
-
Fork the repository.
-
Create a new branch for your changes.
-
Make your changes and commit them to your branch.
-
Update your branch from the main repository:
git fetch upstream git merge upstream/main
-
Submit a pull request.
We will review your pull request and provide feedback as needed.
This project is licensed under the MIT License. See the LICENSE file for more information.