https://github.com/sarthakmakhija/movie-inventory
A repository containing first python + flask (practice) project.
https://github.com/sarthakmakhija/movie-inventory
alchemy flask flask-migrate flask-restful flask-script python3
Last synced: 3 months ago
JSON representation
A repository containing first python + flask (practice) project.
- Host: GitHub
- URL: https://github.com/sarthakmakhija/movie-inventory
- Owner: SarthakMakhija
- Created: 2020-06-12T13:11:01.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T10:45:06.000Z (almost 3 years ago)
- Last Synced: 2024-01-10T21:15:51.024Z (almost 2 years ago)
- Topics: alchemy, flask, flask-migrate, flask-restful, flask-script, python3
- Language: Python
- Homepage:
- Size: 271 KB
- Stars: 2
- Watchers: 5
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# movie-inventory
A repository containing first python + flask (practice) project.
# Problem definition
*MMasters* (a hypothetical company) is a movie inventory company and they wish to introduce new features in their system.
Hello,
We are an "API first" company providing a lot of APIs around movie snapshots. We would like to introduce few features in the system -
We wish to pull movies from OMDB (http://www.omdbapi.com/) and store in our system as movie snapshots.
We would also like to allow anyone to retrieve these movie snapshots.
As mentioned, we are an "API first" company and we now expect to build two APIs -
- one that *gets all movie snapshots* from our system
- is an OPEN API
- one that *creates movie snapshots* in our system by fetching the information from omdb
- is a protected API
- every request should contain a header "x-api-key" with "d2ViLWFwcGxpY2F0aW9uLWluLWZsYXNr" as the value
- allow our people to pass mutiple movie titles to be fetched from OMDB
We expect proper **REST status** in the system -
- 500 for INTERNAL_SERVER_ERROR
- 200 for OK
- 201 for CREATED
- 401 for UNAUTHORIZED
...and so on
Movie snapshot includes -
- title
- release year
- release date
- director
- and ratings which is a collection
**Summarizing**
As a part of the system
- build APIs
- ensure security
- fetch from OMDB
- store in the system
- get all movie snapshots from the system
- include retries while communicating with OMDB
- and needless to say, ensure that the system is properly tested
# Pairing by
- [Abhijeet Sonawane](https://github.com/abhijeetsonawane)
- [Sarthak Makhija](https://github.com/SarthakMakhija)
# Run tests
- pipenv shell
- python3 run_tests.py all