Skip to content

A simple web service for parsing top movies from IMDb and represent them like RESTful API. Developed using Python language, Flask and Sanic frameworks, CI/CD with GitHub Actions to Heroku.

Notifications You must be signed in to change notification settings

valerii-martell/Movies-RESTful-API

Repository files navigation

Movies RESTful API

Codacy Badge Flake8 Pytest CodeQL Docker Deploy

https://movies-api-flask.herokuapp.com/ (Heroku may take some time to start)

A simple web service for parsing top movies from IMDb and represent them like RESTful API. Developed using Python language, Flask and Sanic frameworks and PostgreSQL database. Deployed on Heroku. Supports GET, POST, PUT, PATCH and DELETE methods for Movies and Actors entities. Some of them require tokens, thus user registration, authentication and authorization are also provided. Swagger is also added to the project. The DB can be populated either by using pre-defined set of values or by sing parsing top movies from IMBd. The parser can work in sequential, multithreading or multiprocessing modes. Unittests realised using Pytest and Coverage.

Technology stack:

  • Language - Python
  • Frameworks - Flask and minority Sanic
  • Databases - SQLite and PostgreSQL
  • ORM - SQLAlchemy
  • Authentication - JWT
  • Validation - Marshmallow
  • Frontend: Jinja2 and Bootstrap 4
  • API UI - Swagger
  • Parsing - Beautiful Soup 4 and Requests
  • WSGI - Gunicorn
  • Testing - Pytest and Coverage.
  • Linter - Flake8
  • Containerization - Docker
  • Deployment - Heroku
  • CI/CD - GitHub Actions

DB structure: https://drawsql.app/kpi-6/diagrams/movies-api-db drawSQL-export-2022-07-10_06_46

About

A simple web service for parsing top movies from IMDb and represent them like RESTful API. Developed using Python language, Flask and Sanic frameworks, CI/CD with GitHub Actions to Heroku.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published