A high-performance, cryptographic trust-focused client review platform built for ExploitInject. Engineered with a cyberpunk aesthetic (glassmorphism, neon blue/purple accents, and glitch typography), this modern full-stack web application is powered by Next.js 16 (App Router), TypeScript, Tailwind CSS, Shadcn UI patterns, and MongoDB Atlas.
- Cyberpunk UI/UX ("Obsidian Cyberpunk"): Ultra-dark
#080808palette, glassmorphic cards, noise texture, and custom CSS glitch animations. - Public Reviews Page (
/reviews):- Filter reviews by service (SEO Optimization, Web Development, Cyber Security, Digital Marketing, Branding & Design).
- Multi-criteria sorting (Newest First, Highest Rated, Lowest Rated) and real-time keyword search.
- Clear "Verified Client" badge for trusted reviews.
- Interactive Review Submission (
/submit-review):- Star rating selector (1ā5 stars).
- Anti-spam arithmetic math verification challenge.
- IP-based rate limiting to prevent spam floods.
- Instant alerts via Sonner toast notifications.
- Admin Panel (
/admin):- Secure admin login with bcrypt-hashed credentials & JWT session cookies.
- Real-time metrics: Total Reviews, Pending Approval, Average Rating, and Rejected count.
- Manage Reviews (
/admin/manage-reviews): Approve, Reject, Delete, or Toggle "Verified Client" badges. - Settings (
/admin/settings): Change Username, Email, and Password directly from the admin panel.
- Telegram Notifications (
/admin/settings):- Instant Telegram notification alerts when a client submits a new review.
- Instant notification alerts when an admin approves a review.
- Test alert dispatcher to verify Bot Token and Chat ID directly from the UI.
- SEO & Search Engines:
- Schema.org
Organization,Product, andAggregateRatingJSON-LD rich snippets. - Individual
Reviewschemas for Google search star rating results. - Built-in dynamic
sitemap.xmlandrobots.txtgeneration.
- Schema.org
- Framework: Next.js 16 (App Router & Turbopack)
- Language: TypeScript 5+
- Styling: Tailwind CSS + CVA (Class Variance Authority)
- Database: MongoDB (Mongoose with connection caching)
- Icons: Lucide Icons
- Toast Notifications: Sonner
- Security & Auth: Jose (JWT in HTTP-only cookies) + Bcrypt.js
-
Clone or Download the Repository:
git clone https://github.com/Exploit-Inject/Review_System_ExploitInject.git cd Review_System_ExploitInject -
Install Dependencies:
npm install
-
Configure Environment Variables (
.env): Ensure your.envcontains:MONGODB_URI=your_mongodb_connection_string DATABASE_NAME=exploitinject_reviews DATABASE_COLLECTION_NAME=review-ei JWT_SECRET=your_long_random_jwt_secret_token NEXT_PUBLIC_APP_URL=http://localhost:3000
-
Seed Database (Initial Admin & Sample Reviews):
npm run seed
Creates default admin
ExploitInject_Officialwith passwordadmin123. -
Run the Development Server:
npm run dev
Open http://localhost:3000 to view the site.
-
Build for Production:
npm run build npm run start
- URL: http://localhost:3000/admin/login
- Default Username:
ExploitInject_Official - Default Password:
admin123
Review_System_ExploitInject/
āāā app/
ā āāā admin/
ā ā āāā login/page.tsx # Admin login page
ā ā āāā manage-reviews/page.tsx # Review moderation page
ā ā āāā settings/page.tsx # Telegram alerts & account settings
ā ā āāā page.tsx # Admin overview dashboard
ā āāā api/
ā ā āāā admin/ # Admin endpoints (auth, reviews, settings)
ā ā āāā captcha/route.ts # Anti-spam math challenge
ā ā āāā reviews/ # Public review API & stats
ā āāā reviews/page.tsx # Public reviews page
ā āāā submit-review/page.tsx # Review submission page
ā āāā globals.css # Obsidian Cyberpunk styles & theme
ā āāā layout.tsx # Root layout & navbar/footer
ā āāā page.tsx # Landing page & trust metrics
ā āāā robots.ts # Crawler rules
ā āāā sitemap.ts # Dynamic XML sitemap
āāā components/
ā āāā AdminLayout.tsx # Responsive admin sidebar & layout
ā āāā AdminManageReviewsClient.tsx # Interactive review moderation table
ā āāā Footer.tsx # Footer & social links
ā āāā Navbar.tsx # Responsive navigation & mobile menu
ā āāā ReviewsClient.tsx # Reviews listing with filter & sorting
āāā lib/
ā āāā auth.ts # JWT signing & cookie session handling
ā āāā mongodb.ts # Cached Mongoose connection
ā āāā settings.ts # Telegram settings storage
ā āāā telegram.ts # Telegram bot notification sender
ā āāā utils.ts # Helper functions
āāā models/
ā āāā Admin.ts # Admin schema & password hashing
ā āāā Review.ts # Client review schema
āāā public/
ā āāā exploitinject.png # ExploitInject brand logo
ā āāā favicon.png # ExploitInject brand emblem
āāā scripts/
āāā seed.js # Seed script for initial admin & reviews
- Stateless CAPTCHA: Signed math challenge prevents bot automation without server session storage.
- Rate Limiting: IP-based rate limiting on review transmissions.
- Input Validation: Strict Mongoose schema constraints on name, rating bounds (1ā5), service stream, and review text length.
- HTTP-Only Cookies: Admin authentication uses secure
SameSite=Laxcookies with signed JWTs. - No Direct GET Operations: Moderation actions (approve, reject, purge) run over authenticated
PATCHandDELETErequests.