A full-stack web application designed to allow users to rate and review various stores. It provides distinct functionalities for regular users, store owners, and administrators, creating a comprehensive ecosystem for managing and browsing store feedback.
This platform provides a role-based experience to cater to the needs of every user.
- Authentication: Secure user registration and login.
- Store Discovery: Browse and search for stores.
- Rating and Reviews: Submit ratings and detailed reviews for stores.
- Personal Dashboard: View and manage personal rating history.
- Store Management: Manage their store's profile and information.
- Rating Analysis: View and analyze ratings and reviews for their stores.
- Dedicated Dashboard: Monitor store performance and feedback.
- User Management: Add, edit, and remove users from the platform.
- Store Management: Add, edit, and remove stores.
- Platform Oversight: A comprehensive dashboard to oversee all platform activity.
- Framework: Next.js (React)
- Language: TypeScript
- Styling: Tailwind CSS with shadcn/ui
- Database: PostgreSQL
- Package Manager: pnpm
To get a local copy up and running, follow these steps.
You must have Node.js (v18.17 or later), pnpm, and a running instance of PostgreSQL (or your chosen SQL database).
-
Clone the repository:
git clone [https://github.com/your-username/your-repo-name.git](https://github.com/your-username/your-repo-name.git)
-
Navigate to the project directory:
cd your-repo-name -
Install dependencies:
pnpm install
-
Set up environment variables: Create a file named
.env.localin the root and add your database connection string and other required variables:DATABASE_URL="postgresql://USER:PASSWORD@HOST:PORT/DATABASE" NEXTAUTH_SECRET="your-secret-key" NEXTAUTH_URL="http://localhost:3000" -
Run database migrations: (Add instructions here if you are using a migration tool like Prisma or Drizzle ORM)
pnpm run db:push
-
Run the development server:
pnpm run dev
-
Open http://localhost:3000 with your browser to see the result.
This project is licensed under the MIT License. See the LICENSE file for details.
(Action: Create a file named LICENSE and add the MIT License text.)