Skip to content

A tinder like app for rating dog breeds featuring a leaderboard and real-time global chat

License

Notifications You must be signed in to change notification settings

gupta-soham/DogRater

Repository files navigation

🐕 DogRater

A modern web application for rating dogs with real-time chat functionality. Built with Next.js, MongoDB, and WebSocket.

Rate My Dog

✨ Features

  • 🐾 Swipe-based dog rating system
  • 💬 Real-time global chat
  • 📊 Live leaderboard
  • 🌍 Filter dogs by country
  • 🎉 Interactive animations
  • 🎵 Sound feedback on interactions

🛠️ Prerequisites

  • Node.js 18 or higher
  • MongoDB installed locally or a MongoDB Atlas account
  • pnpm package manager (npm install -g pnpm)

🚀 Getting Started

Note

This project uses pnpm as a package manager.

  1. Clone the repository:
git clone https://github.com/gupta-soham/DogRater.git
cd DogRater
  1. Install dependencies:
pnpm install
  1. Set up environment variables:
cp .env.example .env.local

Update the .env.local with your configuration:

NEXT_PUBLIC_WS_URL=ws://localhost:3001
MONGODB_URI=mongodb://localhost:27017/dog_ratings
FRONTEND_URL=http://localhost:3000
  1. Start the development server:
pnpm dev

This will start:

  • 🌐 Next.js development server on port 3000
  • 🔌 WebSocket server on port 3001

📜 Available Scripts

  • pnpm dev - Starts both the Next.js development server and WebSocket server
  • pnpm wss - Runs only the WebSocket server on port 3001
  • pnpm prod - Builds and starts the application in production mode

🏗️ Testing Production Build

To test the production build locally:

pnpm prod

This will create an optimized production build and start both the Next.js server and WebSocket server concurrently.

🤝 Contributing

We love your input! We want to make contributing to DogRater as easy and transparent as possible, whether it's:

  • 🐛 Reporting a bug
  • 💡 Submitting a fix
  • 🚀 Proposing new features
  • 💻 Becoming a maintainer

Contributions are welcome! Please feel free to submit a Pull Request.

To contribute follow these steps:

  1. Fork the repository

  2. Clone the fork to your local machine

  3. Create a new branch

git checkout -b feat/fooBar
  1. Make your changes and commit them
git commit -am 'Add some fooBar'
  1. Push to the branch
git push origin feature/fooBar
  1. Go to the repository and make a Pull Request.

For major changes, please open an issue first to discuss what you would like to change.

Read our contribution guidelines for more details.

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

Any contributions you make will be under the MIT Software License

In short, when you submit code changes, your submissions are understood to be under the same MIT License that covers the project. Feel free to contact the maintainers if that's a concern.


Made with ❤️ by Soham Gupta

About

A tinder like app for rating dog breeds featuring a leaderboard and real-time global chat

Resources

License

Stars

Watchers

Forks