Skip to content
Shop

CommunityJoin Our PatreonDonate

Sponsored Ads

Sponsored Ads

Nextflix

Nextflix is a brand new video streaming platform designed to offer viewers a personalized and immersive entertainment experience. With Nextflix, users can browse an extensive collection of movies, TV shows, documentaries, and other video content from all around the world. The platform is designed to provide high-quality streaming that adapts to each user's internet connection speed, so you can enjoy your favorite shows and movies without buffering or lag.

Functional Requirements

  • Watch movies
  • Create,Read,Update,Delete movies

Non Functional Requirements

UI Design

Landing

On the landing page you will be presented with the most recent movie as well as a gallery of movies that you can watch. Movies can be filtered by genre and clicking on a movie will take you to the movie's Details page.

Recent

Nextflix Clone is the premier social media app for Lightfield images. It houses the largest collection of Lightfield images in the world – and it's the best way to share, discuss, and discover new Lightfield content. Users post amazing, inspirational and fun images every day.

Login

Nextflix Clone is the premier social media app for Lightfield images. It houses the largest collection of Lightfield images in the world – and it's the best way to share, discuss, and discover new Lightfield content. Users post amazing, inspirational and fun images every day.

Admin

Nextflix Clone is the premier social media app for Lightfield images. It houses the largest collection of Lightfield images in the world – and it's the best way to share, discuss, and discover new Lightfield content. Users post amazing, inspirational and fun images every day.

Create

Nextflix Clone i s the premier social media app for Lightfield images. It houses the largest collection of Lightfield images in the world – and it's the best way to share, discuss, and discover new Lightfield content. Users post amazing, inspirational and fun images every day.

The Backend

The backend uses an SQlite database with the Flask SQLalchemy ORM and Flask Login for authentication. For caching Flask Caching can be used and for session management you could use Flask Sessions. I use DB Browser on a Mac for browsing the Database.

The Process

The application was initially developed utilizing VueJS in conjunction with a Firebase database and Firebase OAuth for authentication. However, in order to have more control over the application and eliminate reliance on third-party services, the decision was made to rebuild it using Flask, a micro-web framework

The development process began by creating placeholder pages with static content, allowing for quick prototyping using HTML and CSS. The frontend of the INDEX route was implemented in both Jinja and VueJS versions to provide flexibility and options.

To ensure a well-structured database, a schema was meticulously designed using a readme file and Markdown tables. Subsequently, the database was modeled using Flask SQLAlchemy, a powerful and efficient ORM (Object-Relational Mapping) tool.

API routes were then created to facilitate interactions with the application's pages. Typically, all records are queried and sent to the INDEX page initially, followed by the implementation of the SHOW route to retrieve a single item. Subsequently, focus shifts to developing the functionality for the NEW and EDIT forms, as well as ensuring proper functionality for the DELETE route.

To enforce access restrictions for certain routes, Flask Login was integrated into the application. Additionally, routes for handling common scenarios such as 404 errors, 500 errors, user login, registration, and logout were implemented. Session management code can also be incorporated at this stage, although it is deliberately deferred until later stages to avoid unnecessary obstacles during the development process.

In order to optimize page loading speed, caching mechanisms can be implemented, enabling faster retrieval and delivery of frequently accessed content.

Despite the completion of these steps, the application's overall polish may still be lacking. The final and most crucial aspect of any application lies in the implementation of the business logic, which encompasses the vital business rules and processes. Integrating third-party APIs and services often proves invaluable at this stage, as they provide essential functionalities and form the core of the application.

Overall, this approach ensures a structured and systematic development process, allowing for flexibility, scalability, and the creation of a robust application that adheres to industry best practices.

Schema