https://github.com/pro1code1hack/tech_zink
The technical task
https://github.com/pro1code1hack/tech_zink
Last synced: 5 months ago
JSON representation
The technical task
- Host: GitHub
- URL: https://github.com/pro1code1hack/tech_zink
- Owner: pro1code1hack
- Created: 2022-07-12T22:08:10.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2022-07-13T03:31:20.000Z (over 3 years ago)
- Last Synced: 2025-03-12T13:25:04.535Z (10 months ago)
- Language: Python
- Size: 11.4 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
``The project represents the Flask REST API ``
The structure of the project -->
DIRS:
- migrations --> ( i will need to use the alembic in order not to update db manually)
- mocking --> (script for filling the db with fake data)
- models --> (Sqlalchemy repr)
- rest --> ( Building the logic for CRUD)
- services --> ( The file which is used to query the db)
- static --> ( for swagger)
- tests
Files:
- travis.yaml
- app.py --> the initial app which is configured
- database --> configuration
+ ReadMe, reqs.txt, docker, db
also i need to created the dashboard for tasks in trello/notion/jira
To run the project u need
1) pip install -r requirements.txt
2) python app.py
Essential links:
1) http://127.0.0.1:5000/swagger/
2) http://127.0.0.1:5000/events/
3) http://127.0.0.1:5000/tickets/
4) http://127.0.0.1:5000/tickets/
----------------------------------------------------------------------------------------------
**You can easily run the app from docker using these commands**:
git clone: ...
sudo docker build . -t tech_task_2_UK -f ./Dockerfile
sudo docker run -p 8000:8000 tech_task
sudo docker image ls
sudo docker ps
For the preliminaril usage of the project open a new terminal session and use these commands:
sudo netstat -ltnp
curl -X GET "http://127.0.0.1:5000/events/" -H "accept: */*"
----------------------------------------------------------------------------------------------
Used stack:
1) Flask
2) SQLAlchemy
3) Flask-SQLAlchemy
4) Flask-RESTful
5) Flask-RESTful-swagger
6) Flask-RESTful-swagger-ui
7) SQLite3
8) Alembic
9) Docker
10) Pytest / pytest-cov
11) Travis CI
12) Gunicorn
13) Logging
14) GIT
----------------------------------------------------------------------------------------------
Note:
1) I spent almost 2.5 hours solving the problem with the import files from .rest directory.
so that i decided to write the api classes in the main app, if I had more time, would correct it.
2) The http://127.0.0.1:5000/tickets/ endpoint is not working in swagger UI, but you can use it in the browser.