Skip to content

afurgapil/locarater

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

82 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Locarater - Location Rating Platform

🎯 Project Overview

Locarater is a comprehensive platform where users can discover, rate, and review various locations. Users can contribute by adding new locations and sharing their experiences, creating a dynamic community-driven ecosystem for location-based recommendations.

πŸ— Technical Stack

Frontend

  • Next.js 15
  • React 19
  • TypeScript
  • Tailwind CSS 4
  • Zustand 5
  • Axios
  • Formik & Yup
  • date-fns
  • Lucide React
  • Radix UI Components
  • Headless UI
  • Next Themes

Backend

  • Node.js
  • Express
  • TypeScript
  • MongoDB & Mongoose
  • JWT Authentication
  • Bcrypt
  • Nodemailer
  • Multer
  • Supabase Storage

πŸ‘₯ User Roles

1. Visitor

  • View locations
  • Search functionality
  • Apply filters
  • View location details

2. Registered User

  • Create and edit profile
  • Add new locations
  • Rate and review locations
  • Email verification system
  • Manage their added locations
  • Like, dislike and comment on feed items
  • Earn badges and view badge notifications

3. Admin

  • Manage all content
  • User management
  • Configure site settings
  • Moderate location submissions

πŸ“± Features

Location Management

  • Community-driven location submissions
  • Add/edit/delete locations by users
  • Category system

Rating System

  • Star rating
  • Written reviews
  • Like/dislike functionality
  • Comment system
  • Review reporting

Social Feed System

  • Activity feed with location additions
  • Review posts from followed users
  • Badge achievement notifications
  • Social interactions (likes, dislikes, comments)
  • Comment counter display
  • Content reporting

Search and Filtering

  • Text-based search
  • Category filters
  • Rating filters
  • Sorting options

User Profile

  • Profile customization
  • Review history
  • Favorite locations
  • Notification preferences
  • Email verification

Dashboard

  • Location statistics
  • Review management
  • Profile settings
  • Notifications

πŸ“ Project Structure

.
β”œβ”€β”€ apps
β”‚   β”œβ”€β”€ api
β”‚   β”‚   β”œβ”€β”€ src
β”‚   β”‚   β”‚   β”œβ”€β”€ controllers
β”‚   β”‚   β”‚   β”œβ”€β”€ hooks
β”‚   β”‚   β”‚   β”œβ”€β”€ index.ts
β”‚   β”‚   β”‚   β”œβ”€β”€ middleware
β”‚   β”‚   β”‚   β”œβ”€β”€ models
β”‚   β”‚   β”‚   β”œβ”€β”€ public
β”‚   β”‚   β”‚   β”œβ”€β”€ routes
β”‚   β”‚   β”‚   β”œβ”€β”€ scripts
β”‚   β”‚   β”‚   β”œβ”€β”€ seeds
β”‚   β”‚   β”‚   β”œβ”€β”€ services
β”‚   β”‚   β”‚   β”œβ”€β”€ types
β”‚   β”‚   β”‚   └── utils
β”‚   └── web
β”‚       β”œβ”€β”€ public
β”‚       β”œβ”€β”€ src
β”‚       β”‚   β”œβ”€β”€ app
β”‚       β”‚   β”œβ”€β”€ assets
β”‚       β”‚   β”œβ”€β”€ components
β”‚       β”‚   β”œβ”€β”€ config
β”‚       β”‚   β”œβ”€β”€ constants
β”‚       β”‚   β”œβ”€β”€ hooks
β”‚       β”‚   β”œβ”€β”€ lib
β”‚       β”‚   β”œβ”€β”€ providers
β”‚       β”‚   β”œβ”€β”€ services
β”‚       β”‚   β”œβ”€β”€ store
β”‚       β”‚   └── types

πŸš€ Development Progress

1. Core Infrastructure

  • Project setup
  • Backend API
  • Frontend structure
  • Authentication system
  • Email verification

2. Location System

  • Location CRUD operations
  • User-driven location submissions
  • Photo upload
  • Search and filtering
  • Location moderation

3. Rating System

  • Comments and ratings
  • Like system
  • Response system
  • Reporting

4. Social Feed System

  • Activity feed
  • Review posts
  • Badge notifications
  • Post interactions (likes, dislikes)
  • Comment system
  • Interaction counters

5. User System

  • Profile management
  • User authentication
  • Email verification
  • Favorites
  • Notifications
  • Settings

6. Dashboard & Admin

  • Location management
  • Statistics
  • User management
  • Site settings

πŸ›  Getting Started

Prerequisites

  • Node.js 18.x
  • MongoDB
  • Supabase
  • npm or yarn

Installation

  1. Clone the repository
git clone https://github.com/afurgapil/locarater.git
cd locarater
  1. Install dependencies
npm install
  1. Set up environment variables
# Create .env files in both apps/web and apps/api directories
cp apps/web/.env.example apps/web/.env
cp apps/api/.env.example apps/api/.env
  1. Start development servers
npm run dev

🀝 Contributing

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

πŸ“ License

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

About

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages