This Movie Streaming App, built with Next.js, provides a seamless platform for users to explore and enjoy movie trailers. It offers an immersive experience for movie enthusiasts to discover new releases, popular titles, and watch trailers on-demand.
|
Feature |
Description |
| βοΈ |
Architecture |
The project is built using Next.JS. Next.JS also supports server-side-rendering built on React . |
| π© |
Code Quality |
The codebase is well-structured and follows best practices. It utilizes TypeScript for type safety and has consistent coding style. |
| ππ£π |
Browse Movies |
Explore a diverse collection of movies genres, top rated movies, latest realeases. |
| π¬ |
Search Functionality |
Easily find specific movies using the search feature. |
| π₯ |
WishList |
Save movies to a watchlist for future viewing. |
| π |
Responsive Design |
Enjoy a consistent and engaging experience across various devices. |
| π |
Integrations |
The project integrates with external api's, and react libraries. |
| π§© |
Modularity |
The codebase appears to be modular and reusable, with components like MovieCard.tsx, CastCard.tsx, and SliderComponent.tsx providing clear separation of concerns. |
| β‘οΈ |
Performance |
The projects follows best practices for better Search Engine Optimization. It achieves great core web-vitals scores throughout the project. |
| π¦ |
Dependencies |
The project has dependencies on libraries such as react-slick, tailwind, redux-toolkit. |
Home Page

Movie Page

Search Page

Subscription Page

Support Page

βββ StreamJet/
βββ app
β βββ globals.css
β βββ layout.tsx
β βββ Movies
β β βββ page.tsx
β βββ not-found.tsx
β βββ page.tsx
β βββ search
β β βββ page.tsx
β βββ StoreProvider.tsx
β βββ subscription
β β βββ page.tsx
β βββ support
β β βββ page.tsx
β β βββ QuestionCard.tsx
β βββ watch
β βββ genre
β βββ movie
βββ components
β βββ Footer.tsx
β βββ Genre
β β βββ GenrePage.tsx
β βββ GenreCard.tsx
β βββ Homepage
β β βββ Category.tsx
β β βββ Devices.tsx
β β βββ HomePage.tsx
β β βββ WatchNow.tsx
β βββ MovieComponents
β β βββ CastCard.tsx
β β βββ MovieCard.tsx
β β βββ MoviePage.tsx
β βββ Navbar
β β βββ Navbar.tsx
β βββ Slider
β β βββ BannerSlider.tsx
β β βββ SliderButtons.tsx
β β βββ SliderComponent.tsx
β βββ utils.tsx
βββ lib
β βββ hooks.ts
β βββ store
β βββ movieSlice.tsx
β βββ service.tsx
β βββ store.tsx
βββ next.config.js
βββ package-lock.json
βββ package.json
βββ postcss.config.js
βββ public
β βββ fonts
β β βββ Horror.ttf
β β βββ Misto.ttf
βββ tailwind.config.ts
βββ tsconfig.json
βββ types
βββ index.ts
.
| File |
Summary |
| .gitignore |
Manages the files and directories to be ignored by Git version control. |
| next.config.js |
Configuration file for Next.js, likely containing settings for your Next.js application. |
| package-lock.json |
Auto-generated file specifying the exact version of each installed npm package. |
| package.json |
Manifest file for Node.js projects, containing project metadata and dependencies. |
| tailwind.config.ts |
Configuration file for Tailwind CSS, a utility-first CSS framework. |
app
| File |
Summary |
| layout.tsx |
Layout component that provides a consistent structure for pages. |
| not-found.tsx |
Component or page for handling 404 errors. |
| page.tsx |
Root page for the application |
| StoreProvider.tsx |
Component responsible for providing application state using Redux. |
app.Movies
| File |
Summary |
| page.tsx |
This page shows the main movie page with trending, latest, top rated and genres section. |
app.search
| File |
Summary |
| page.tsx |
This components shows the results for the search query. |
app.subscription
| File |
Summary |
| page.tsx |
This page shows the details related to the subscription |
app.support
app.watch.genre.[slug]
| File |
Summary |
| page.tsx |
This page contains the code for the genres page which will show all the movies with respective genre. |
app.watch.movie.[slug]
| File |
Summary |
| page.tsx |
This is movie page for a specific movie with the details of the movie like cast, crew, director etc |
components
| File |
Summary |
| Footer.tsx |
Component for the application footer. |
| GenreCard.tsx |
Component for displaying information about a genre in other components. |
| utils.tsx |
Utility functions for components. |
components.Genre
| File |
Summary |
| GenrePage.tsx |
Component for displaying detailed information about a genre. |
components.Homepage
| File |
Summary |
| Category.tsx |
Component for displaying content genres on the homepage. |
| Devices.tsx |
Component for displaying supported devices. |
| HomePage.tsx |
Component for the main homepage. |
| WatchNow.tsx |
Component for prompting users to watch content. |
components.MovieComponents
| File |
Summary |
| CastCard.tsx |
Component for displaying information about the cast. |
| MovieCard.tsx |
Component for displaying information about a movie. |
| MoviePage.tsx |
Component for displaying detailed information about a movie. |
components.Navbar
| File |
Summary |
| Navbar.tsx |
Component for the application navbar. |
components.Slider
---
Requirements
Ensure you have the following dependencies installed on your system:
- TypeScript:
npm install -g typescript
- Node.js:
npm install -g node
- Clone the StreamJet repository:
git clone https://github.com/sachin492002/StreamJet
- Change to the project directory:
- Install the dependencies:
Use the following command to run FlickFix:
To execute tests, run:
Contributions are welcome! Here are several ways you can contribute:
Contributing Guidelines
- Fork the Repository: Start by forking the project repository to your GitHub account.
- Clone Locally: Clone the forked repository to your local machine using a Git client.
git clone https://github.com/sachin492002/StreamJet
- Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b new-feature-x
- Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear message describing your updates.
git commit -m 'Implemented new feature x.'
- Push to GitHub: Push the changes to your forked repository.
git push origin new-feature-x
- Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
Once your PR is reviewed and approved, it will be merged into the main branch.
This project is protected under the SELECT-A-LICENSE License. For more details, refer to the LICENSE file.
- List any resources, contributors, inspiration, etc. here.
Return