Skip to content

My Movies App is a simple Vue.js application which serves as a custom movies database. The database is hosted using Azure SQL Server.

Notifications You must be signed in to change notification settings

miloszmisiek/my-movies

Repository files navigation

My Movies App 🎬

My Movies Am I Responsive Image

Table of Contents

Overview

A simple web application for displaying custom movies list in tabular format. The app allows for full CRUD functionality and allows users to download movies from an external API endpoint here.

The app is fully responsive and was tested on different screen sizes.

Production

The production version can be found here.

The production version of the web API endpoint can be found here.

The production version uses Azure SQL Server as a database provider.

Development

The backend repository can be found here.

The devolpment version uses 'in memory database' for testing purpose - built-in feature of EF Core toolkit.

Back to contents

Technologies Used

  • Languages

    • JS: the primary language used to develop interactive components of the website.
    • HTML: the markup language used to create the website.
    • CSS: the styling language used to style the website.
    • C#: the genral purpose language used to develope minimalistic web API.
  • Front-End Frameworks and Libraries

    • Vue.js: version 3.2 with Composition API - was used for building a user interface.
    • Sass: was used for implementing CSS preprocessor.
    • Bootstrap: version 5.2, was used to style the app with built-in tools.
  • Backend Frameworks and Libraries

  • Other tools

    • Netlify: was used to build and host the front-end.
    • Git: the version control system used to manage the code.
    • Vite: was used as a frontend development building tool.
    • GitHub: used to host the website's source code.
    • VSCode: the IDE used to develop the website.
    • Visual Studio for Mac: version 2022, this IDE was used to build the backend for the project.
    • Fontawesome: was used to implement icons with animation.
    • Grammarly: was used to check grammar and typo errors.
    • eslint: ESLint statically analyzes code to quickly find problems. Was used to check any linting errors and warning in the code.
  • NPM packages & components

Back to contents

How to use?

Open the app by navigating to this page.

  1. To add a movie click on the green button above the table.
  2. To fetch movies click on the blue cloud button above the table.

Table Buttons

  1. To edit the movie click on the grey button next to the movie.
  2. To delete a movie click on the red button next to the movie.

Movies Buttons

  1. To submit the form fill in the data and click submit.
  2. You can close the modal by clicking the close, 'X' button or clicking outside the modal.

Add Movie Form

  1. To change movie data fill in the desired filled and click save.
  2. You can close the modal by clicking the close button, the 'X' button or clicking outside the modal.

Edit Movie Form

  1. To delete the movie simply confirm your choice by clicking delete.
  2. You can close the modal by clicking the close button, the 'X' button or clicking outside the modal.

Delete Movie Form

  1. Star Rating component allows to increment by .5 - this can be changed, but for the designer that is the best scale.
  2. To save the rate simply hover over the star and click on it.

Star Rating

  1. Users can sort the data in ascending or descending order by clicking on a table header. The arrow indicates the sorting direction and which heading is used for sorting.

Table Sorting

Back to contents

Bugs

default-passive-events warning

During the development process the warning "Added non-passive event listener to a scroll-blocking event. Consider marking event handler as 'passive' to make the page more responsive." was present every time the modal was opened or the page reloaded. It is caused by using prevent default and not making the listener passive. To solve it the package was installed, but even though the errors regarding the non-passive event listener are gone, the loading warning for the package is present.

It is left because the previous warnings are gone, so the final result is achieved.

Warning

Credits

  1. All fonts come from Google Fonts.
  2. The movie clapper logo comes from cleanpng.com

Back to contents


Created by Milosz Misiek

About

My Movies App is a simple Vue.js application which serves as a custom movies database. The database is hosted using Azure SQL Server.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published