Skip to content

JurgenHasmeta22/movielandia

Repository files navigation

🎬 MovieLandia24

MovieLandia24 is a dynamic, full-stack social platform built for cinema lovers. Explore a vast universe of movies, series, actors, and crew. Rate, review, bookmark, and connect with a community passionate about film. Enjoy a seamless and engaging platform designed to elevate your cinematic journey.

⚑ Tech Stack 🏁 Getting Started β€’ πŸ“ Structure

Next.js React TypeScript Material UI


⚑ Tech Stack

MovieLandia24 is built upon a robust and modern technology stack, prioritizing performance, scalability, and developer experience. At its core, Next.js 15 App Router and React 19 deliver a dynamic and engaging user interface with seamless navigation. Material UI, enhanced by Emotion, provides a consistent and visually appealing design system. Zustand ensures efficient state management, while Framer Motion enriches the UI with fluid animations. For transactional emails, React Email and Resend are integrated for a streamlined and reliable email delivery system.

  • Framework Icon Framework: Next.js 15 (App Router) - For server-side rendering, routing, and API capabilities.
  • UI Components Icon UI Components: Material-UI v6 with Emotion - Providing a rich set of accessible and customizable React components with a focus on design consistency.
  • State Management Icon State Management: Zustand - For streamlined and centralized state management, particularly for UI-related concerns.
  • Database Icon Database: PostgreSQL - A robust and scalable open-source relational database, managed with Prisma ORM for type-safe database access and migrations.
  • Authentication Icon Authentication: NextAuth.js - Handles authentication with multi-provider support including Google OAuth and email/password credentials, ensuring secure user sessions.
  • Forms & Validation Icon Forms & Validation: React Hook Form and Zod - For efficient and performant form handling and robust schema validation.
  • Rich Text Editor Icon Rich Text Editor: React Quill - Rich text input with image resizing via quill-resize-image.
  • Email System Icon Email System: React Email & Resend - Modern email templates and reliable transactional email delivery.
  • DataTables Icon DataTables: Material React Table V3 - Dynamic, feature-rich admin-side data tables.
  • Animations Icon Animations: Framer Motion - Smooth and engaging UI animations.
  • PDF Generation Icon PDF Generation: jsPDF & AutoTable - Server-side PDF data export.
  • Carousel Icon Carousel: React Slick - Responsive and visually appealing content carousels.
  • Notifications Icon Notifications: React Toastify - User-friendly toast notifications.
  • URL State Icon URL State: nuqs - Streamlined URL state management.

🏁 Getting Started

  1. Clone & Install:
    git clone https://github.com/JurgenHasmeta22/movielandia.git
    cd movielandia
    npm install
  2. Environment Setup:

    Create a .env.local with the following variables:

    
            DATABASE_URL=""
            NEXTAUTH_URL=""
            NEXTAUTH_SECRET=""
            GOOGLE_CLIENT_ID=""
            GOOGLE_CLIENT_SECRET=""
            RESEND_API_KEY=""
            POSTGRES_URL=""
            POSTGRES_PRISMA_URL=""
            POSTGRES_URL_NO_SSL=""
            POSTGRES_URL_NON_POOLING=""
            POSTGRES_HOST=""
            POSTGRES_PASSWORD=""
            POSTGRES_DATABASE=""
        
  3. Database Initialization:
    npx prisma generate
    npx prisma migrate dev
  4. Development Server:
    npm run dev

    Visit http://localhost:4000

πŸ“ Project Structure


movielandia/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ actions/         # Server actions for data mutations
β”‚   β”œβ”€β”€ app/            # Next.js app router pages & layouts
β”‚   β”‚   β”œβ”€β”€ (admin)/    # Admin dashboard routes
β”‚   β”‚   └── (root)/     # Main app routes
β”‚   β”œβ”€β”€ components/     # Reusable UI components
β”‚   β”œβ”€β”€ constants/      # Global constants
β”‚   β”œβ”€β”€ hooks/          # Custom React hooks
β”‚   β”œβ”€β”€ layouts/        # Layout components
β”‚   β”œβ”€β”€ middleware.ts   # Auth & routing middleware
β”‚   β”œβ”€β”€ providers/      # Context providers
β”‚   β”œβ”€β”€ store/          # Zustand store
β”‚   β”œβ”€β”€ types/          # TypeScript definitions
β”‚   └── utils/          # Helper functions
β”œβ”€β”€ prisma/
β”‚   β”œβ”€β”€ migrations/     # Database migrations
β”‚   β”œβ”€β”€ schema/         # Database models
β”‚   |── seed/           # Seed data scripts
|   |── config/         # Prisma config file
└── emails/             # Email templates

Developed by JurgenHasmeta22

Releases

No releases published

Packages

No packages published

Languages