https://github.com/sachin-bi/silent-feedback-next-app
SilentFeedback is a platform enabling people to share honest, anonymous feedback effortlessly . Real-time feedback exchanges in a streamlined, user-friendly environment.
https://github.com/sachin-bi/silent-feedback-next-app
mongodb nextjs
Last synced: 2 months ago
JSON representation
SilentFeedback is a platform enabling people to share honest, anonymous feedback effortlessly . Real-time feedback exchanges in a streamlined, user-friendly environment.
- Host: GitHub
- URL: https://github.com/sachin-bi/silent-feedback-next-app
- Owner: sachin-bi
- Created: 2024-10-24T17:58:27.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-11-05T13:33:20.000Z (7 months ago)
- Last Synced: 2025-01-22T21:26:57.964Z (4 months ago)
- Topics: mongodb, nextjs
- Language: TypeScript
- Homepage:
- Size: 1.05 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
---
## SilentFeedback Project Documentation
### Overview
SilentFeedback is a feedback platform enabling users to give and receive anonymous messages in a secure and streamlined environment. This app is built with Next.js and the MERN stack (MongoDB, Express, React, and Node.js), ensuring a powerful, scalable experience.---
## πΈ Screenshots
### Home Page
### Verified User Dashboard
### Anonymous Person Sending Message To Verified User
---
### Key Features:
- **Anonymity First**: Allow users to share genuine feedback without revealing identities.
- **Seamless Experience**: Optimized with Next.js and Tailwind CSS for speed and elegance.
- **Real-Time Messaging**: Efficiently powered by the MERN stack and secure backend.### Directory Structure
```plaintext
src
ββββapp
β ββββ(app) - Main application files
β ββββ(auth) - Authentication-related routes
β β ββββsign-in - User sign-in page
β β ββββsign-up - User sign-up page
β β ββββverify/[username] - Account verification
β ββββapi - Backend API routes
β β ββββauth/[...nextauth] - Authentication handling via NextAuth
β β ββββaccept-messages - Accept feedback messages
β β ββββdelete-message/[messageid] - Delete specific messages
β β ββββget-messages - Retrieve user messages
β β ββββsend-message - Route for sending messages
β β ββββcheck-username-unique - Check if username is unique
β β ββββsign-up - Registration API route
β β ββββsuggest-messages - Suggestions for messages
β β ββββverify-code - Email/code verification
β ββββfonts - Custom fonts for the UI
β ββββu/[username] - User profiles
ββββcomponents
β ββββui - UI components like buttons, forms, etc.
ββββcontext - Context providers, e.g., AuthProvider for user authentication
ββββhelpers - Helper functions for common operations
ββββhooks - Custom React hooks for reusable logic
ββββlib - Libraries for database connections or API clients
ββββmodel - Database models for MongoDB collections
ββββschemas - Validation schemas for data consistency
ββββtypes - Type definitions for TypeScript```
### Key Functional Modules
- **Authentication** (`app/(auth)`): Handles user login, signup, and account verification.
- **API** (`app/api`): Defines all backend routes for processing feedback, managing accounts, and interacting with the MongoDB database.
- **User Profiles** (`app/u/[username]`): Each user has a profile page where they can view their feedback.
- **Reusable Components** (`components/ui`): Pre-built UI elements for consistent design.
- **Context** (`context`): Context providers, especially for authentication, allowing global access to user data.
- **Database Models** (`model`): MongoDB models for schema-based interaction with the database, ensuring data integrity.### Getting Started
1. **Installation**: Clone the repo, then run `npm install` to install dependencies.
2. **Environment Setup**: Create a `.env` file with necessary environment variables (database URL, NextAuth secrets, etc.).
3. **Running Locally**: Use `npm run dev` to start the development server at `http://localhost:3000`.
4. **Build and Deploy**: Run `npm run build` for production builds. Deploy using platforms like Vercel for serverless deployment.---
## For next-auth setup
* should have knowledge of provider and callbacks.
* set up next auth.## Lucide-react
* there are many icons (available here)## ui.shadcn
* components used from shadcn
* [docs](https://ui.shadcn.com/docs/components)## usehooks-ts
* useDebounceValue
* [docs](https://usehooks-ts.com/react-hook/use-debounce-value)
## react-hook-form
* form n zod
* [docs](https://www.react-hook-form.com/get-started)
* [watch/setValue/useForm](https://react-hook-form.com/docs/useform/watch) -> for toggle input
* usecallbackhook -> use