seacargos
Языки
- Python61%
- HTML26,9%
- CSS11,8%
- Dockerfile0,3%
Seacargos
Sea cargos aggregator web application. Current app version is being developed to aggregate ONE (Ocean Network Express) container shippings.
Technology stack
- Python 3.10
- Flask 2.2
- WTForms 3.0
- Pymongo 4.3
- Gunicorn 20.1
- Nginx 1.21.3
- MongoDB 5.0
- Mongo-express
Web application
Seacargos web application is created with Flask framework and may be helpfull in tracking container shippings. It has simple user and administrator web interfaces. Python ETL scripts get and update data from container shipping web sites and store them in MongoDB database. Python ETL scripts can be run by user manually via web interface and/or scheduled with any simple tool like Linux crontab.
Web application infrastructure
The web application is designed to be deployed in four Docker containers:
- monogo - MongoDB container
- mongo-express - web interface container to access database
- wep - container with seacargos web application
- nginx - container with nginx server
How to install and deploy
Docker should be already installed on local host before deployment.
- Clone the repository.
- Create
file with secrets in projects.envdirectory. Replace placeholdersinfra/with your secret data. Two first users will be created automatically during database initialization: simple user and site administrator. Please use their credentials for first login.<...>
- Deploy
Finally the web application is ready for use
http://127.0.0.1 - web application login page
http://127.0.0.1:8081 - mongo-express database web interface
How to stop containers
Security notice
The above instructions how to install and deploy the project have only demonstration purpose and can be used on local host.
If you would like to deploy the project on a web server, please read the documentation.
Mongo-express should only be used for
development purpose as database web interface. It should be removed from
in production.