polaroidthis is a web application that allows movie enthusiasts to create minimalist movie posters in a Polaroid style.
- Search for movies using the TMDB API
- Generate minimalist Polaroid-style movie posters with customizable options
- Multiple ways to create posters:
- Search movies directly by title
- Paste streaming service URLs (Netflix, Amazon Prime, Disney+, etc.)
- Manual input for custom creations
- Preview and adjust poster layout and style before downloading
- Download high-quality poster images
- Explore featured and popular movie posters
- Responsive design that works on mobile and desktop
-
Framework: Next.js 15 (App Router)
-
Frontend:
- React 19
- TypeScript
- Tailwind CSS for styling
- shadcn/ui for UI components
- Radix UI for accessible components
- Framer Motion for animations
-
Image Generation:
-
External APIs:
- TMDB API for movie data
-
Clone the repository:
git clone https://github.com/yourusername/polaroidthis.git cd polaroidthis
-
Install dependencies:
pnpm install
-
Set up environment variables: Create a
.env.local
file in the root directory with the following variables:TMDB_API_KEY=your_tmdb_api_key
You'll need to obtain an API key from The Movie Database (TMDB).
-
Start the development server:
pnpm dev
-
Open http://localhost:3000 in your browser to see the application.
pnpm build
pnpm start
/app
- Next.js app router pages and API routes/api
- Backend API endpoints (TMDB data fetching, URL scraping)/create
- Poster creation pages/explore
- Explore movies and posters/about
- About page
/components
- React components/ui
- UI components (shadcn/ui)/poster-generator
- Poster generation components
/lib
- Utility functions and shared code/hooks
- Custom React hooks/public
- Static assets/styles
- Global CSS styles
/api/tmdb/*
- TMDB API integration endpoints/api/scrape-title/*
- Movie title scraping from streaming services/api/extract-url/*
- URL processing for direct poster creation
The application can be deployed on Vercel, Netlify, or any other platform that supports Next.js.
- This project uses the TMDB API but is not endorsed or certified by TMDB.
- UI components from shadcn/ui.
- Icons from Lucide.
Contributions are welcome! Here's how you can contribute:
- 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
Please make sure to update tests as appropriate and follow the code style of the project.
This project is licensed under the MIT License - see the LICENSE file for details.
- Add user accounts for saving favorite posters
- Implement social sharing features
- Add more poster style templates
- Create gallery features for community-created posters