Skip to content

Latest commit

Β 

History

History
88 lines (66 loc) Β· 2.22 KB

File metadata and controls

88 lines (66 loc) Β· 2.22 KB

πŸ’– Love Finder – Built with Next.js

A modern, full-featured Dating App built using Next.js App Router.
This app includes user authentication, real-time chat, profile matching, and more – perfect for connecting people online in a fast, beautiful, and responsive way.


πŸš€ Getting Started

1. Clone the repository

git clone https://github.com/Ahmad-code077/Next-Dating-App
cd Next-Dating-App

2. Install dependencies

npm install
# or
yarn install
# or
pnpm install

3. Set up your environment variables

Create a .env file in the project root with the following: DATABASE_URL=your_database_url AUTH_SECRET=your_auth_secret

NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME="your_cloudinary_cloud_name" NEXT_PUBLIC_CLOUDINARY_API_KEY="your_cloudinary_api_key" CLOUDINARY_API_SECRET="your_cloudinary_api_secret" NEXT_PUBLIC_CLOUDINARY_PRESET="your_upload_preset"

PUSHER_APP_ID="your_pusher_app_id" NEXT_PUBLIC_PUSHER_APP_KEY="your_pusher_key" PUSHER_SECRET="your_pusher_secret" NEXT_PUBLIC_PUSHER_CLUSTER="your_pusher_cluster"

NEXT_PUBLIC_BASE_URL="http://localhost:3000"

4. Initialize your database

npx prisma generate
npx prisma db push
# (Optional) Open Prisma Studio:
npx prisma studio

5. Run the development server

npm run dev
# or
yarn dev
# or
pnpm dev

Open http://localhost:3000 in your browser to view the app.

🧠 Features

  • βœ… User signup/login with NextAuth.js & Prisma
  • πŸ“Έ Profile creation + Cloudinary image uploads
  • ❀️ Swipe to like/dislike & matching logic
  • πŸ’¬ Real-time chat powered by Pusher
  • πŸ“¬ Inbox & outbox message containers with soft delete
  • πŸ”„ Cursor-based pagination for messages
  • πŸŒ™ Dark mode toggle
  • ⚑️ Responsive UI with Tailwind CSS & Shadcn UI

πŸ› οΈ Tech Stack

  • βš›οΈ Framework: Next.js 14 (App Router), TypeScript
  • 🎨 UI: Tailwind CSS, Shadcn UI, Lucide icons
  • πŸ”„ State Management: Zustand
  • πŸ“‹ Forms & Validation: React Hook Form & Zod
  • πŸ”’ Authentication: NextAuth.js (Credentials Provider & Prisma Adapter)
  • πŸ’Ύ Database & ORM: Prisma (PostgreSQL)
  • ☁️ Storage: Cloudinary for image uploads
  • πŸ”΄ Real-time: Pusher
  • πŸ”” Notifications: Browser / in-app alerts