Skip to content

A client-side application for an arthouse movie database, built with TypeScript in Angular.

Notifications You must be signed in to change notification settings

ilsegaertner/CUB-Film-Angular-client

Repository files navigation

CUB Film Data (Angular)

A Client-side Application for an Arthouse Movie Database, Built with TypeScript in Angular.

Image of a screenshot of the app

Overview

CUB Film Data (Angular) is an Angular application developed as part of CareerFoundry's Full-Stack Web Development Course. This project showcases proficiency in full-stack JavaScript development within the MERN stack.

The web app allows users to explore information about specific arthouse movies, directors, and genres. Users can create an account, update their personal information, or delete their account as needed.

To visit App, click here.

GitHub.

Objective

The objective of this project was to build a client-side Angular application to complement the existing server-side API, the databases and the business logic.

Approach

Client-Side Development:

The Angular framework was utilized for the client-side development of this application. The implementation involved defining routes for various endpoints and structuring code logic across different components, including the main view, navigation bar, movie view, login/signup view, movie card, profile view, and logout link.

Screenshot Fullscreen of the app

Features

Signup/Login

  • Users are greeted with a welcome view where they can log in or register an account

Screenshot of Signup/Login View

Main view

  • Displays all movies from the database.
  • Provides navigation to the profile view.
  • Offers the option to log out.
  • Includes a search feature for filtering the list of movies.
  • Allows users to select a movie for detailed information.

Single Movie view

  • Presents additional movie details, including director information, genre details, and synopsis.
  • Additional details are displayed via modals for a seamless user experience.

Screenshot of Director Modal View Screenshot of Genre Modal View

Profile view

  • Shows user registration details.
  • Enables users to update their information (username, password, email, date of birth).
  • Allows existing users to delete their profiles.

Screenshot of Profile View

Challenges

The development process for the Angular app was enjoyable and straightforward. Leveraging React concepts as a foundation facilitated a quicker grasp of the key Angular framework concepts, despite its steep learning curve.

I particularly appreciated the structured system and separation of services inherent in Angular. The component-based architecture and data-binding capabilities simplified development compared to the complexities of state handling and prop drilling in React.

In addition, I deepened my understanding of CSS/SCSS and the significance of consistent styling. Adopting a systematic approach to defining font sizes and spacing ratios using rem units enhanced design consistency across various media.

Technologies used

  • Typescript
  • Angular Cli
  • MongoDB
  • Express
  • HTML
  • SCSS
  • JavaScript

User Stories/User flow created prior

Prior to implementation, user stories were created to visualize necessary interfaces and routes, aiding in the understanding of required operations and serving as a visualization tool for stakeholders.

User Story 1: As a user I want to be able to go to the Website and see the movies

Screenshot of User Story1

User Story 2: As a user, I want to be able to create a profile so I can see data about my favorite movies.

Screenshot of User Story2

User Story 3: As a user, I want to be able to receive information on movies, directors, and genres so that I can learn more about movies I’ve watched or am interested in.

Screenshot of User Story3

About

A client-side application for an arthouse movie database, built with TypeScript in Angular.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published