Skip to content

dshtranv/TMDB-API

Repository files navigation

FLASK TMDB-API with CRUD, Docker, AWS & Terraform Cloud, GitHub Actions,

Prerequisites

  1. TMDB account
  • With API key
  1. AWS account
  • With IAM access and secret key
  1. Docker Hub Account with repo
  2. GitHub with Actions
  • Fork the repo
  • Secrets Actions: DOCKER_PASSWORD & DOCKER_USER & TF_API_TOKEN
  1. Terraform Cloud with Variable set attached to Workspace
  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY
  • Create TF_API_TOKEN for GitHub
  1. Set TMDB API Key in ssm parameter store to path dev/api_key as api_key=key
  2. Change Terraform variables
  3. Change Docker Compose image name
  4. Push to branch main
  5. Apply the Terraform stage in GitHub Actions
  6. Wait and copy DNS output from Terraform in GitHub Actions

My Moduls

  1. TMDBDownloader - Use the IMDB-API to get an poster image
  2. MongoDB CRUD - Use gridFS package for large object to store images
  3. Flask Web Server for my CRUD API and also a web API

HTML form:

  1. Create:/create
  • This endpoint:
  • Searching for poster by name and store him in mongodb
  • If exist in mongoDB then retrieve poster from Database
  1. Read:/read
  • Read posters from mongoDB
  1. Update:/update
  • Update poster metadata
  1. Delete:/delete
  • Delete poster from Database

By url:

  • from API platform like postman or browser:
  • /create/url/<search_string>
  • /read/url/<search_string>
  • /delete/url/<delete_string>
  • /update/url/<update_string> in proccess

Gonna try to make this with Terraform:

Tux, the Linux mascot Tux, the Linux mascot Tux, the Linux mascot Tux, the Linux mascot Tux, the Linux mascot Tux, the Linux mascot Tux, the Linux mascot Tux, the Linux mascot Tux, the Linux mascot Tux, the Linux mascot Tux, the Linux mascot Tux, the Linux mascot Tux, the Linux mascot Tux, the Linux mascot Tux, the Linux mascot Tux, the Linux mascot Tux, the Linux mascot

(back to top)

About

Github Action, Terraform, Docker for my TMDB CRUD API Project with FLASK

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published