A modern Next.js application for browsing, searching, and uploading subtitles with TMDB integration and user authentication. This project provides a platform similar to Subscene where users can find and share subtitles for movies and TV shows.
- User Authentication: Register, login, and user account management
- Search for Subtitles: Powerful search with filters for language and other criteria
- Browse Subtitles: Browse the latest uploaded subtitles
- Subtitle Details: View subtitle information with download capability
- Upload Subtitles: Registered users can upload subtitle files
- TMDB Integration: Movie and TV show information from The Movie Database
- Modal Authentication: Login and registration without page redirects
- Responsive Design: Mobile-friendly interface
- Frontend: Next.js 15.x, React 19.x, Tailwind CSS 3.x
- Forms: Formik with Yup validation
- Backend: Next.js API Routes
- Database: PostgreSQL
- Authentication: JWT, HTTP-only cookies
- Media Data: TMDB API integration
- Node.js 18.18.0 or higher
- PostgreSQL 12.x or higher
- NPM or Yarn package manager
- Clone the repository
git clone https://github.com/wasishah33/Subscene-Clone.git
cd Subscene-Clone- Install dependencies
npm install
# or
yarn- Set up environment variables
Create a .env.local file in the root of the project based on .env.example:
cp .env.example .env.local
# Now edit .env.local with your actual configuration- Run the development server
npm run dev
# or
yarn dev- Access the application
Open http://localhost:3000 in your browser.
The application will automatically create the necessary tables when it starts:
users: Stores user account informationuploads: Stores uploaded subtitlesall_subs: Stores existing subtitles data
If you need to manually set up the database:
CREATE DATABASE subscene;Then make sure your connection string in .env.local points to this database.
- JWT-based authentication with HTTP-only cookies
- Secure password hashing with bcrypt
- Modal-based login/register UI for better user experience
- Protected API routes for authorized users
/api/auth/*- Authentication endpoints (register, login, user)/api/subtitles/*- Subtitle search and management/api/uploads/*- Upload management/api/tmdb-proxy- TMDB API proxy
npm run build
npm start
# or
yarn build
yarn startContributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- The Movie Database (TMDB) for the movie and TV show data
- Tailwind CSS for the UI framework
- All the open-source libraries used in this project
