A simple and secure web-based Data Center Management System built with Next.js + Express.js.
- Role-based authentication (Admin and Normal User).
- Separate Admin and User login workflows.
- Admin can:
- Create companies and applications.
- Create dynamic fields (
text,pdf,image). - Insert records using dynamic fields.
- Upload PDF contracts and images securely.
- Create read-only users.
- Normal users can:
- Search and filter by company and application name.
- View records and open uploaded files.
- Frontend: Next.js App Router pages in
app/ - Backend API: Express routes in
server.js - Storage:
- JSON file database:
data/db.json - Uploaded assets:
public/uploads/
- JSON file database:
- Auth:
- Password hashing with PBKDF2
- JWT in HTTP-only cookie
- RBAC middleware (
admin,user)
users: id, username, passwordHash, rolecompanies: id, nameapplications: id, companyId, namefields: id, applicationId, name, typerecords: id, applicationId, values(dynamic by field id)
npm install
npm run devOpen http://localhost:3000.
Default Admin account:
- username:
admin - password:
admin123
Change admin credentials and
JWT_SECRETin production.