Skip to content

MuhammadAbbasi/UniFlix

Repository files navigation

UniFlix 🎬

A lightweight web project built in PHP (with HTML/CSS/JS) mimicking core features of Netflix. One of my early attempts at web app design and dynamic content, putting together server-side logic and frontend interaction.

Why I built this

When I started learning web development, I wanted a project that forces me to think about:

  • User registration / login flows
  • Dynamic pages (movies, shows, search)
  • Session / authentication handling
  • Page routing & templates
  • Simple “watch” interface (just for structure, not streaming real video)

This was a sandbox to practice combining backend + frontend work.

Tech Stack & Architecture

Layer Tech / Components
Backend PHP
Frontend HTML, CSS, JavaScript
Routing / Views PHP includes (header, footer, etc.)
Data / Entities Basic PHP files (e.g. entities, includes, category.php)
Pages / Features Login, Register, Movies, Shows, Search, Profile, Watch

Features

  • User registration & login / logout
  • Browsing “movies” and “shows”
  • Search bar for filtering content
  • Profile page
  • Watch page (placeholder, not real streaming)
  • Session management (so only logged-in users can access certain pages)

How to Run (for your local dev environment)

  1. Clone the repo:

    git clone https://github.com/MuhammadAbbasi/UniFlix.git
    cd UniFlix
  2. Ensure you have a PHP server available (e.g. via XAMPP, WAMP, or built-in PHP server).

  3. Place the project folder in your server’s document root (e.g. htdocs/UniFlix for XAMPP).

  4. Navigate via browser: http://localhost/UniFlix/index.php

  5. Register a user → Login → Explore pages.

Sample Screens (just conceptual)

Home / Movies / Shows / Search  
Profile | Logout  

When logged out: you see Login / Register  
When logged in: you see content pages  

(I didn’t build real video streaming — “Watch” page is mock or placeholder.)

Challenges & Lessons Learned

  • Combining PHP logic with HTML in a maintainable way is messy if you don’t plan structure
  • Session and authentication logic is error-prone
  • Sanitizing user input (search, forms) is crucial
  • Organizing includes (header, footer, templates) helps avoid repetition
  • It’s easy to let this kind of project become spaghetti code — structure matters early

What I'd Do Next (if I revisit this)

  • Move to MVC pattern (separate controllers, views, models)
  • Use a database (MySQL / SQLite) instead of flat files / basic PHP entities
  • Implement user roles (admin / standard user)
  • Support features like “add to favorites,” “watchlist,” ratings
  • Improve frontend with frameworks (React/Vue) or nicer UI
  • Add API endpoints so frontend and backend are decoupled

About

Tried to clone Netflix

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published