My Flix Angular

Angular client for myFlix with Node/Express backend and JWT auth.

Overview

An Angular-based client application for the myFlix movie database, featuring secure user authentication, movie browsing, and favorites management. This project demonstrates proficiency in Angular framework, TypeScript, component-based architecture, and integration with RESTful APIs.\r\n\r\nThe application provides a seamless user experience with routing, guards for protected routes, and a clean, modern interface. Users can register, login, browse movies, view detailed information about films, directors, and genres, and manage their list of favorite movies

Technologies

  • Angular
  • Express
  • JWT
  • Node.js
  • Typescript

Purpose & Objectives

The purpose of My Flix Angular is to create a dynamic, engaging movie database that enhances the user experience through intuitive design and powerful functionality. By leveraging modern web technologies, it aims to provide a seamless platform for movie enthusiasts to explore, discover, and manage their favorite films.

Key Features

  • - JWT auth + route guards: Protected views with token handling via interceptors.
  • - RxJS data flows: Observables power search, detail fetches, and UI reactivity.
  • - MobileÔÇæfirst UI: Responsive, accessible components optimized for performance.
  • - REST API integration: Node/Express + MongoDB for movies, genres, directors.
  • - Favorites persistence: ClientÔÇæside storage for watchlists and starred titles.

Architecture & Structure

  • - Angular modules & components: Feature-oriented structure with shared utilities.
  • - Services layer: Encapsulated HTTP client with interceptors and typed responses.
  • - Routing: Guarded routes for auth-required views and lazy detail loading.
  • - Persistence: LocalStorage abstraction for favorites/watchlists.
  • - Backend: Express routes, MongoDB models, JWT issuance/verification.

Technical Challenges

  • - Token lifecycle: Handling refresh/expiry with minimal UX disruption.
  • - Reactive composition: Managing complex stream combinations in RxJS.
  • - Performance: Avoiding redundant API calls and minimizing reflows.
  • - Accessibility: Keyboard navigation and ARIA roles for dynamic views.

Accomplishments

Successfully developed a fully functional movie database using Angular, Node.js, Express, and MongoDB. Implemented JWT-based user authentication and authorization, enabling secure access to user profiles and personalized features. Created a responsive design that ensures optimal viewing across devices, enhancing user engagement and satisfaction.

Lessons Learned

My Flix Angular represents a significant achievement in my journey as a Full Stack Web Developer. It showcases my ability to integrate complex technologies into a cohesive, user-friendly application. This project not only highlights my technical skills but also my commitment to delivering high-quality, impactful web solutions that meet real user needs.

Back to Projects