/movie_search_API

This application is a simple analogue of sites such as IMDb or kinopoisk. The app allows to register and log in, update user data, get movies, directors, genres stored in the database.

Primary LanguagePython

Movie search API (the API allows you to register, log into your account, retrieve movies, directors and genres)

Project developed by: Mikhailov Alexander

Application structure:

app.py - main application

setup_db.py - SQLAlchemy object that is used in the application

config.py - application configuration settings

constants.py - application constants

decorators.py - application access decorators

implemented.py - file to create DAO and services to import them everywhere

movies.db - database with tables (movies, directors, genres and users)

requirements.txt - application dependencies

.gitignore - files and folders to ignore in the Git version control system

test_api.http - file for testing http requests of our application (API)

  • Directory dao - Data Access Files (DAO)

    • director.py - Data Access Object for director
    • genre.py - Data Access Object for genre
    • movie.py - Data Access Object for movie
    • user.py - Data Access Object for user
      Directory model - Models and their schemes
      • director.py - Model and scheme for the director
      • genre.py - Model and scheme for the genre
      • movie.py - Model and scheme for the movie
      • user.py - Model and scheme for the user
  • Directory service - Business logic of the application in the form of classes

    • director.py - Class DirectorService
    • genre.py - Class GenreService
    • movie.py - Class MovieService
    • user.py - Class UserService
    • auth.py - Class AuthService
  • Directory tests - All application tests

    • conftest.py - fixture file for pytest module
      Directory test_service - service tests
      • test_director.py - pytest tests for director
      • test_genre.py - pytest tests for genre
      • test_movie.py - pytest tests for movie
  • Directory views - All views of the application

    • directors.py - Views with directors
    • genres.py - Views with genres
    • movies.py - Views with movies
    • users.py - Views with Users
    • auth.py - Views for user authentication