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.