top of page

 MyFlix Client (Angular)

This is a single-page, responsive movie app developed using Angular with routing and several interface views that provide users with access to information about movies, directors, and genres using myFlix API.

Purpose & Context

myFlix was done as part of Careerfoundry coursework to demonstrate my mastery of full-stack JavaScript development. 

Duration

The complete project was done in 3 weeks. Most of the time was spent on understanding the Angular framework, as I did not use this framework in any of the earlier work.

myFlix API Details

myFlix is a custom API that contains details about movies and their genre, director, and other details.

​​​

myFlix server github repo: https://github.com/pshegde123/cf_myflix_server

Tech Stack

  • Front-end: TypeScript, Angular, Angular-Material, GitHub-Pages, TypeDoc

  • Backend: NodeJs,Express, MongoDB, Postman, JSDoc

Server Side

The server side consists of a well-designed REST API and an architected database built using JavaScript, Node.js, Express, and MongoDB. 

 

The REST API will be accessed via  HTTP methods like GET and POST. 

​

Similar methods (CRUD) will be used to retrieve data from the database and store that data in a non-relational way.


To test the app, I used Postman. I also included the basic HTTP authentication and JWT (token-based) authentication.

GET query results on Postman

Client Side

angular-app-image.png

After completing the server API, I built the interface users would need to interact with the server side. 

​

It is a single-page, responsive application, developed with Angular and the Angular-Material framework. 


The app provides several interface views, including a login view, a registration view, an all movies view, and a profile view (where users can update their user data and list of favorites). Page routing in the app is handled using Angular Router.

Page Views

loginscreen.png
angular-app-image.png

Login View

All Movies View

signupscreen.png
director.png

Signup View

Director dialog box

genre.png

Genre Dialog Box

moviedetails.png

Movie details dialog box

User profile view

Retrospection

The Angular framework was very new for me. I spent most of my time understanding the Angular framework, its built-in functionalities, data flow structure, and routing.

​

Following Material design was also a new experience. It is a complex world, but at its basics, also surprisingly efficient and straightforward. I was expecting to get a similar user flow as in the React app, but the AngularJS workflow automatically led me to create a much easier and more efficient result.

​

I found Stack Overflow threads to be a big help in resolving errors and understanding some basic concepts.

​

Angular’s straightforward workflow and clear, organized structure are very helpful when building and maintaining a complex app, but I feel that for small apps like myFlix, all the features of the framework may not be utilized, and using React will be an easier option.

Credits​

​

Developer: Pradnya Hegde , Tutor : Jay Quach , Mentor: Alfredo Velez

bottom of page