|
1 | | -# 🛠️ Request Management Portal (RMP) — Fullstack Web App & API |
2 | | - |
3 | | -::: tip STATUS |
4 | | -**Production-Ready** | **License-Based Distribution Model** available at __[store.notreal003.org](https://store.notreal003.org)__ |
5 | | -::: |
6 | | - |
7 | | -The **Request Management Portal** is a complete fullstack solution for managing user requests, approvals, and role-based administration. It’s designed for internal teams, SaaS workflows, or support portals — powered by a responsive React frontend and a scalable Node.js/Express API. |
8 | | - |
9 | 1 | --- |
10 | | - |
11 | | -## 🔍 Overview |
12 | | - |
13 | | -Built with clean architecture and secure practices, this system includes: |
14 | | - |
15 | | -- A fully responsive **React frontend** |
16 | | -- A robust **Node.js + Express backend** |
17 | | -- **OAuth login** (Google & Discord) |
18 | | -- **JWT-secured sessions** and role-based access control |
19 | | -- **Discord webhook logging**, optional **email verification** |
20 | | -- **Admin-only dashboards** for request and user management |
21 | | - |
22 | | ---- |
23 | | - |
24 | | -## ✅ What You Get |
25 | | - |
26 | | -> ⚡ **Save 150–200+ development hours** — and avoid $15,000+ of engineering effort by acquiring a ready-to-use production system with clean code. |
27 | | -
|
28 | | -**Deliverables:** |
29 | | -- ✅ Full source code: Frontend (React) + Backend (Node.js/Express) |
30 | | -- ✅ GitHub repository (or zipped archive) |
31 | | -- ✅ Setup guide with `.env.example` |
32 | | -- ✅ Deployment help (optional) |
33 | | -- ✅ **Commercial-use license (Personal, Developer, or Extended)** |
34 | | - |
35 | | ---- |
36 | | - |
37 | | -## 💵 Licensing & Pricing |
38 | | - |
39 | | -Choose the license that best fits your needs: |
40 | | - |
41 | | -| License Tier | Price | Features | |
42 | | -|------------------|-------|--------------------------------------------------------------------------| |
43 | | -| Personal | $49 | Use for personal or non-commercial project | |
44 | | -| Developer | $99 | Use in 1 commercial product (no resale) | |
45 | | -| Extended | $199 | White-label, resell, modify, and deploy commercially with attribution | |
46 | | - |
47 | | -- 📁 Code is licensed, not open-source |
48 | | -- 🔑 Each license allows deployment with limits described |
49 | | -- 🚫 Redistribution or public sale is not permitted without Extended License |
50 | | -- 💼 No IP or repository ownership is transferred |
51 | | - |
52 | | -### 👉 GET NOW ON: __https://store.notreal003.org__ |
53 | | - |
54 | | ---- |
55 | | - |
56 | | -## 🧠 Key Use Cases |
57 | | - |
58 | | -- 📌 Support ticket system for internal or external users |
59 | | -- 🧩 Base template for building MERN SaaS applications |
60 | | -- 🛠️ Admin portals with request flow logic |
61 | | -- 🧑💼 Team-based approval workflows |
62 | | - |
63 | | ---- |
64 | | - |
65 | | -## 📸 UI Previews |
66 | | -::: tip SCREENSHOTS |
67 | | -All the screenshots shown below are taken from the currently operational [request.notreal003.org](https://request.notreal003.org) web app, this app is well tested and currently our page has 34 users. |
68 | | -::: |
69 | | - |
70 | | - |
71 | | -| Functionality | Screenshot | |
72 | | -|--------------|------------| |
73 | | -| Request Submission |  | |
74 | | -| Profile Viewer |  | |
75 | | -| Request History |  | |
76 | | -| Admin: View Requests |  | |
77 | | -| Admin: Request Review |  | |
78 | | -| Request Viewer |  | |
79 | | -| API & Site Analytics |  | |
80 | | -| Admin: User Manager |  | |
81 | | -| Admin: User Role View |  | |
82 | | -| Blocking Users/IPs |  | |
83 | | - |
84 | | ---- |
85 | | - |
86 | | -## 🧰 Tech Stack |
87 | | - |
88 | | -| Layer | Tech | |
89 | | -|-------------|----------------------------------------------| |
90 | | -| Frontend | React + Tailwind (SPA) | |
91 | | -| Backend | Node.js + Express | |
92 | | -| Database | MongoDB + Mongoose | |
93 | | -| Auth | Google & Discord OAuth + JWT | |
94 | | -| Logging | Discord Webhooks (errors + login events) | |
95 | | - |
96 | | ---- |
97 | | - |
98 | | -## 🔐 Security & Architecture |
99 | | - |
100 | | -- 🔒 JWT-based session auth |
101 | | -- 🛡️ IP/device logging on login |
102 | | -- 🧠 Admin-only route control |
103 | | -- 📤 Email code verification (optional) |
104 | | -- 💾 `.env`-driven config system |
105 | | -- 📜 Discord webhooks for error & auth event logs |
106 | | - |
107 | | ---- |
108 | | - |
109 | | -## 📜 Licensing & Legal |
110 | | - |
111 | | -::: warning LEGAL NOTICE |
112 | | -As of **July 13, 2025**, this project is **NO LONGER open source** and is now distributed under a **paid license**. |
113 | | -::: |
114 | | - |
115 | | -- 📄 Buyers receive a **commercial license** based on the selected tier: |
116 | | - - **Personal License ($49)**: Use for personal or internal projects. No redistribution or resale. |
117 | | - - **Developer License ($99)**: Use in unlimited client/commercial projects. No resale or white-labeling. |
118 | | - - **Extended License ($199)**: Includes white-label rights and permission to integrate into commercial SaaS or resell as part of a larger product. |
119 | | -- 🧑💼 You may **use, modify, and integrate** the code based on your license tier |
120 | | -- ❌ Redistribution, public listing, or resale is **not allowed** under Personal/Developer tiers |
121 | | -- ✅ Extended license allows **white-label use** and resale/integration into other commercial platforms |
122 | | -- 🧾 A formal **license document** is included with every purchase |
123 | | - |
124 | | ---- |
125 | | - |
126 | | -## 📞 Contact & Demo |
127 | | - |
128 | | -- 🌐 Live Demo: [request.notreal003.org](https://request.notreal003.org) |
129 | | -- 📧 Email: `noreply.notreal003@gmail.com` |
130 | | -- 💬 Discord: Join our [server](https://notreal003.org/discord) and DM `notnt77` |
131 | | - |
132 | | ---- |
133 | | - |
134 | | -# 📦 Request Management Portal-API — Setup & Usage Guide |
135 | | - |
136 | | -::: tip |
137 | | -This section covers full technical deployment, authentication, admin workflows, and security setup for developers. |
138 | | -::: |
139 | | - |
140 | | -## 🧾 Prerequisites |
141 | | - |
142 | | -- Node.js v14+ |
143 | | -- MongoDB Atlas or local instance |
144 | | -- Google + Discord OAuth credentials |
145 | | -- (Optional) Gmail App Password for email verification |
146 | | -- Webhook URLs for Discord logging |
147 | | - |
148 | | ---- |
149 | | - |
150 | | -## 🧪 Environment Variables |
151 | | - |
152 | | -Create a `.env` file with the following: |
153 | | - |
154 | | -```bash |
155 | | -SESSION_SECRET=your_secret |
156 | | -PORT=3001 |
157 | | -MONGODB_URI=your_mongo_uri |
158 | | -GOOGLE_CLIENT_ID=xxx |
159 | | -GOOGLE_CLIENT_SECRET=xxx |
160 | | -GOOGLE_CLIENT_REDIRECT=xxx |
161 | | -DISCORD_CLIENT_ID=xxx |
162 | | -DISCORD_CLIENT_SECRET=xxx |
163 | | -DISCORD_REDIRECT_URI=https://your-domain.com/callback |
164 | | -EMAIL=your@gmail.com |
165 | | -EPASS=your_gmail_app_password |
166 | | -JWT_SECRET=strong_random_value |
167 | | -ADMIN_ID=admin_mongo_id |
168 | | -ERROR_WEBHOOK=https://discord.com/api/webhooks/… |
169 | | -USER_AUTH_WEBTOKEN=https://discord.com/api/webhooks/… |
170 | | -``` |
171 | | ---- |
172 | | - |
173 | | -## 🚀 Backend Setup Instructions |
174 | | - |
175 | | -```bash |
176 | | -git clone https://github.com/NotReal003/API.git |
177 | | -cd API |
178 | | -npm install |
179 | | -cp .env.example .env |
180 | | -# Fill in the .env fields |
181 | | -npm start |
182 | | - |
183 | | -For development: |
184 | | - |
185 | | -npx nodemon index.js |
186 | | -``` |
187 | | - |
188 | | -⸻ |
189 | | - |
190 | | -### 🔑 Authentication Flows |
191 | | - |
192 | | -| **Provider** | **Endpoint** | **Notes** | |
193 | | -|--------------|----------------------------------|-------------------------------------------------------------| |
194 | | -| Google | `/auth/internal/google` | Live, session-based auth | |
195 | | -| Discord | `/auth/internal/discord` | Fully supported | |
196 | | -| GitHub | `/auth/internal/github` | **Disabled** in production (can be enabled from codebase) | |
197 | | -| Email | `/auth/internal/e-signin` | Optional 6-digit OTP (disabled by default) | |
198 | | -| JWT Use | _Used in routes like_ `/auth/internal/ip` | For IP logging, session tracking, and secure auth | |
199 | | - |
200 | | ---- |
201 | | - |
202 | | -### 📡 API Overview |
203 | | - |
204 | | -| **Method** | **Route** | **Description** | |
205 | | -|------------|-----------------------------------------------------|---------------------------------| |
206 | | -| POST | `/requests` | Submit a new request | |
207 | | -| GET | `/requests` | Get user’s request history | |
208 | | -| PUT | `/requests/:id/status` | Admin: update request status | |
209 | | -| PATCH | `/admins/internal/staff/manage/:userId/role` | Admin: change user role | |
210 | | -| PUT | `/admins/internal/staff/demote/:userId` | Demote user | |
211 | | - |
212 | | ---- |
213 | | - |
214 | | -### 👑 Admin Management |
215 | | - |
216 | | -- **Admin Panel UI**: |
217 | | - Visit `/admins` in the browser — serves protected React-based admin interface. |
218 | | - |
219 | | -- **Promote User to Admin:** |
220 | | - ```http |
221 | | - PATCH /admins/internal/staff/manage/{userId}/role |
222 | | - Content-Type: application/json |
223 | | -
|
224 | | - { |
225 | | - "role": "admin" |
226 | | - } |
227 | | - ``` |
228 | | - |
229 | | -- Only admins or owner: true can assign roles |
230 | | - |
231 | | -⸻ |
232 | | - |
233 | | -🛡️ Security, Logs & Error Handling |
234 | | -- Discord webhook logs: |
235 | | -- ERROR_WEBHOOK: uncaught server errors |
236 | | -- USER_AUTH_WEBTOKEN: IP/device login events |
237 | | -- Sensitive routes require JWTs or session cookies |
238 | | -- .env-based config keeps secrets out of version control |
239 | | -- HTTPS recommended for deployment |
240 | | - |
241 | | -⸻ |
242 | | - |
243 | | -💡 Best Practices |
244 | | -- Use strong values for JWT_SECRET, SESSION_SECRET |
245 | | -- Always configure OAuth redirect URIs correctly |
246 | | -- Do not commit .env files |
247 | | -- Secure cookies in production |
248 | | -- Disable unused auth flows unless needed |
249 | | - |
250 | | -⸻ |
251 | | - |
252 | | -🎨 Frontend Features & Setup |
253 | | - |
254 | | -🔧 Frontend Features |
255 | | -- Request Form Pages: Users can submit various types of requests, including reports, support requests, and applications. |
256 | | -- Authentication: JWT-based login/logout with dynamic status display in the navbar. |
257 | | -- Admin Panel: Administrators can view, approve, reject, or cancel requests and leave review messages. |
258 | | -- User Dashboard: Users can view their request history and status updates. |
259 | | -- Responsive Design: Optimized for various devices using modern design practices. |
260 | | -- More Features: Some features are not listed here. |
261 | | - |
262 | | -🚀 Frontend Setup |
263 | | -1. Clone the repository |
264 | | - |
265 | | -```bash |
266 | | -git clone https://github.com/NotReal003/Requests.git |
267 | | -``` |
268 | | -2. Install dependencies: |
269 | | - |
270 | | -```bash |
271 | | -npm install |
272 | | -``` |
273 | | -3. Create a .env file and add your API URL: |
274 | | - |
275 | | -```bash |
276 | | -REACT_APP_API=your_api_url |
277 | | -CI=false |
278 | | -``` |
279 | | - |
280 | | -4. Start the React app: |
281 | | - |
282 | | - ```bash |
283 | | -npm start (for development) |
284 | | -npm run build (for production (output will be in /build)) |
285 | | -``` |
286 | | - |
287 | | -⸻ |
288 | | - |
289 | | -🙏 Final Note |
290 | | - |
291 | | -You’re viewing the complete documentation and business offer for the Request Management Portal — a powerful, customizable MERN-stack system ready for production. |
292 | | - |
293 | | -Reach out if you’re interested in buying, deploying, or customizing. |
294 | | - |
| 2 | +redirect: https://rmp.notreal003.org |
295 | 3 | --- |
0 commit comments