A NodeJs service which allows you to create a movie based on it's title (additional movie details will be fetched) and fetch all created movies.

Overview

movies-api

A NodeJs service which allows you to create a movie based on it's title (additional movie details will be fetched) and fetch all created movies.


Built With

  • Node.js
  • PostgreSQL
  • Docker
  • Git
  • Express
  • Mocha, chai and supertest
  • Json Web Token
  • Postman
  • Circle CI

Requirements

You will need Node.js (version 14 and above) and a node global package installed in your environment.

Node

  • Node installation on Windows

    Just go on official Node.js website and download the installer. Also, be sure to have git available in your PATH, npm might need it (You can find git here).

  • Node installation on Ubuntu

    Installation Commands
      $ sudo apt install nodejs
      $ sudo apt install npm
    
  • Other Operating Systems

    You can find more information about the installation on the official Node.js website and the official NPM website. If the installation was successful, you should be able to run the following command.

    Verify versions
      $ node -v
      v14.17.5
      $ npm -v
      6.14.14
    

Clone this project

$ git clone https://github.com/lawrecks/movies-api.git
$ cd movies-api

Configure app

  • Create a file named .env in the project root directory
  • Add the environment variables as described in the .env.example file

Install dependencies

$ npm install

Run with Docker

Prerequisites

You need to have docker and docker-compose installed on your computer to run the service

Run the app with following command

$ JWT_SECRET=secret OMDB_API_KEY=your_omdb_api_key docker-compose up -d

You can obtain your API KEY at https://omdbapi.com/apikey.aspx

By default, the app should run on port 1918

To stop the app, run

$ docker-compose down

Run with NPM

Running this project locally

$ npm run dev

Running tests

$ npm test

Documentation

Postman: https://documenter.getpostman.com/view/10148336/UVyn2JwS

Database Schema

https://dbdiagram.io/d/62415a91bed61838730be234

Show your support

Give a ⭐️ if you like this project!

Copyright

Copyright (c) 2021 Ugochukwu Ejiogu

You might also like...

Browse a list of your favorite movies and tv shows on the Steam-It Movie Database.

Browse a list of your favorite movies and tv shows on the Steam-It Movie Database.

Preview Desktop view Stream-It The website allows users to browse a list of movies, like a movie, view and add comments to a movie Built With HTML and

Sep 30, 2022

An aplication to search for popular movies consuming data from the movie database API

An aplication to search for popular movies consuming data from the movie database API

An aplication to search for popular movies consuming data from the movie database API

Sep 15, 2022

A website which displays a list of movies and allows the user to leave a comment and like.

A website which displays a list of movies and allows the user to  leave a comment and  like.

Movie-website Description Mobile Version Desktop Version "Movie-website" is a website which display movies from TVmaze api allowing users to like and

Nov 7, 2022

This is a Microverse (@microverseinc) project in which I created a To-do list using Webpack. User can add a task, delete it, edit its description, and clear the completed tasks.

Microverse To-Do list This is a Microverse (@microverseinc) project in which I created a To-do list using webpack. Requirements Build a Todo list usin

Aug 3, 2022

A Hulu Clone which created with NextJS. It fetches the data from TMDB (The Movie Database) API.

A Hulu Clone which created with NextJS. It fetches the data from TMDB (The Movie Database) API. Click demo to try it by yourself! Hulu Clone Demo Link

Aug 17, 2022

It's a repository to studies. Its idea is to learn about Nx and its plugins.

It's a repository to studies. Its idea is to learn about Nx and its plugins.

StudyingNx This project was generated using Nx. 🔎 Smart, Fast and Extensible Build System Adding capabilities to your workspace Nx supports many plug

May 13, 2022

Can see everything, beware of its omniscience, kneel before its greatness.

Can see everything, beware of its omniscience, kneel before its greatness.

Can see everything, beware of its omniscience, kneel before its greatness. Summary Presentation Installation Removing Credits Presentation Main goal T

Sep 30, 2022

The leaderboard website displays scores submitted by different players. It also allows you to submit your score. I created this project using ES6 concepts. I connected to the Leadboard API service

Leaderboard App The leaderboard website displays scores submitted by different players. It also allows you to submit your score I created this project

Dec 21, 2022

Script to fetch all NFT owners using moralis API. This script output is a data.txt file containing all owner addresses of a given NFT and their balances.

Script to fetch all NFT owners using moralis API. This script output is a data.txt file containing all owner addresses of a given NFT and their balances.

🔎 Moralis NFT Snapshot Moralis NFT API will only return 500 itens at a time when its is called. For that reason, a simple logic is needed to fetch al

Jun 23, 2022
Owner
Ugochukwu Ejiogu
Software Engineer
Ugochukwu Ejiogu
An open source movie library platform for viewing movie info and saving movies for later.

GoodWatch An open source movie library platform for viewing movie info and saving movies for later. How to get started? Fork and clone the repo. Then

null 13 Apr 28, 2022
A single-page application that allows users to keep track of their books. Users can add the book details (book title and author) and also, and the books can also be removed. Built with JavaScript, HTML, and CSS

Project Name Awesome book with ES6 Description the project. This is a single page application that allows users to keep track of their books. Users ca

Micheal Oguntayo 4 Oct 13, 2022
Keep track of the movies you've watched and create your own movies lists!

Cinematek Keep track of the movies you've watched and create your own movies lists! All the movies informations are provided by The Movie Database Dep

Caroline Oliveira 8 May 23, 2022
A fully responsive React app that allows you to search for movies from Movie Database.

A fully responsive React app that allows you to search for movies from Movie Database (IMDB Alternative).

Tushar Indurjeeth 3 Jul 16, 2022
AweSome Book App displays the book details entered by user and saves the information in Local storage. User can add and remove a book title/author to the library and from the library.

Awesome Book App with ES6 Used npm init -y command to create package.json file. Created the entry point for the JavaScript code called index.js Create

Krishna Prasad Acharya 8 Aug 15, 2022
This is a single page web application that keeps tracks of books. Book details captured are the book title, author and ISBN. User can add a book, view a list of books and also remove any un wanted books.

Project Name This is a single page web application that keeps tracks of books. Book details captured are the book title, author and ISBN. User can add

Olivier 6 Nov 20, 2022
Deno module to convert fiat currencies with fetched API from fixer.io

Usage example Deno module to convert fiat money currencies with initial fetched API from fixer.io There are two different modes for this module. Mode

Michel M. 6 Jan 29, 2022
A web applicaton called 'MOVTIME' where you can come to stream movies by consuming the TMDB movie API

End result Click here : https://movtime-movie-app.netlify.app/ Figma design File Click here: https://www.figma.com/file/4IbpmTU6jtpRKdpbFmt4i8/Web-Des

Eniola Odunmbaku 12 Nov 11, 2022