Skip to content

Cine App is a web application to search information about movies.

Notifications You must be signed in to change notification settings

leandrosilvaferreira/cine-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Cine App

Cine App is a web application to search information about movies.

It's based on Quarkus (Java) and Nuxt (VueJS) frameworks.

The data is from The Movie Database (TMDb) API.

With this web app, the users can:

  • See​ ​ a ​ ​ list​ ​ of​ ​ upcoming​ ​ movies​ ​ - ​ ​ including​ ​ the​ ​ movies'​ ​ name,​ ​ poster​ ​ or​ ​ backdrop​ ​ image, genre​ ​ and​ ​ release date.​ ​
  • Select​ ​ a ​ ​ specific​ ​ movie​ ​ to​ ​ see​ ​ its​ ​ details​ ​ (name,​ ​ poster​ ​ image,​ ​ genre,​ ​ overview​ ​ and release​ ​ date)
  • Search​ ​ for​ ​ movies​ ​ by​ ​ entering​ ​ a ​ ​ partial​ ​ or​ ​ full​ ​ movie​ ​ name.

Prerequisites

Backend:

Frontend:

To generate production version

Running the application in Development Mode

First: Backend

Folder: cine-api-q

To run the application, use:

mvn compile quarkus:dev

Once started, it runs on:

http://localhost:8080/

Second: Fronted

Folder: cine-ui

Install dependencies:

$ npm install

Serve with hot reload:

$ npm run dev

Once started, you can access the UI:

http://localhost:3000/

API Documentation

This project uses the Open API standards and publishes the API docs with Swagger UI.

http://localhost:8080/swagger-ui

To see the API Specs in Json format, access:

http://localhost:8080/openapi

Building for Production

To build a production version, we need 3 steps :

  • Build the frontend
  • Build the backend
  • Generate the Docker image

To do that, it's necessary:

Go to backend folder:

cine-api-q

Run the build script:

./build-with-docker-image.sh

This script generates the frontend application, copy the generated files to backend resources folder and make the build of the backend module with the static files of frontend working as a SPA (Single Page Application).

After that, you can run the application with:

docker run -i --rm -p 8080:8080 quarkus/api-jvm:latest

In the production version, the web application runs inside a Docker image only as a Java application based on Quarkus.

Avaiable on http://localhost:8080/

Future Improvements

Frontend

  • Refactoring to make more reusable components
  • Improvements in the page flows to use Vuex (State) to not loose the information about selected page and search results when change from a page to other
  • Show traillers in Youtube and other informations about the movies.
  • Allow to share a link of a movie
  • Better UI

Backend

  • Tunning and improvements of cache strategy
  • Improvements to run as a native docker image

Contact

You can contact me by e-mail in this address

About

Cine App is a web application to search information about movies.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published