Skip to content

Kaarsn/User-Management-HR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

User Management Dashboard

A lightweight Django app for user management with Admin/User roles, a modern UI (Bootstrap + Tailwind + custom CSS), and a local JSON file as the data store. Screenshot 2026-01-31 024830 Screenshot 2026-01-31 025203 Screenshot 2026-01-31 030851 Screenshot 2026-01-31 030907 Screenshot 2026-01-31 030936 Screenshot 2026-01-31 030949 Screenshot 2026-01-31 031029 Screenshot 2026-01-31 031046

Coding

80% Vibe Coding for Frontend 20% myself for Backend/Database THIS PROJECT STILL IN DEVELOPMENT

Highlights

  • Authentication + sessions
  • Admin panel: CRUD users, status/roles, user directory
  • Payroll management: input payroll, history, and PDF slip generation
  • User dashboard: profile + activity panels
  • Local JSON storage (no database setup required)

Quickstart

1) Create a virtual environment

Windows (PowerShell):

python -m venv .venv
.venv\Scripts\activate

macOS/Linux:

python3 -m venv .venv
source .venv/bin/activate

2) Install dependencies

pip install -r requirements.txt

3) Configure environment variables

Create a .env file in the project root:

DEBUG=True
SECRET_KEY=django-insecure-dev-key-for-local-testing-only

4) Run the server

python manage.py runserver

Open: http://127.0.0.1:8000

Demo credentials

  • Admin: admin / admin123
  • User: user1 / user123

Tip: you can auto-fill the login form:

  • http://127.0.0.1:8000/login?demo=admin
  • http://127.0.0.1:8000/login?demo=user

Pages

  • / – Landing page
  • /login – Login
  • /dashboard – User dashboard
  • /admin – Admin panel

API (selected)

Authentication:

  • POST /login
  • GET /logout

Admin-only user management:

  • GET /api/users
  • POST /api/users/create
  • PUT /api/users/<id>/update
  • DELETE /api/users/<id>/delete

Project structure

.
├── config/                 # Django project settings/urls/wsgi
├── manage/                 # Main app
│   ├── data/               # Local JSON data
│   │   └── users.json
│   ├── static/
│   │   ├── css/            # Custom styling
│   │   │   ├── admin.css
│   │   │   ├── dashboard.css
│   │   │   ├── index.css
│   │   │   ├── login.css
│   │   │   └── style.css
│   │   ├── img/
│   │   └── js/
│   │       ├── admin.js
│   │       └── login.js
│   ├── templates/
│   │   ├── admin.html
│   │   ├── dashboard.html
│   │   ├── index.html
│   │   ├── login.html
│   │   └── verify_email.html
│   ├── db.py
│   ├── urls.py
│   └── views.py
├── .env                    # Local env vars (do not commit secrets)
├── manage.py
└── requirements.txt

Notes (development vs production)

This project is intended for learning/demo use.

  • Passwords are stored in plain text (demo).
  • Local JSON storage is not suitable for concurrent writes.

If you deploy this publicly, switch to Django’s auth + a real database, add password hashing, and set DEBUG=False.

Important limitation (because this project uses a local JSON file as a database):

  • On Vercel/serverless, writes are not permanent. The app will work, but any changes you make (new users, payroll edits) can reset on a new deployment or cold start.
  • For permanent storage, move data to a real database (Postgres) or an external KV/storage service as you like.

Troubleshooting

  • Port already in use:
python manage.py runserver 8001
  • Static assets missing (production-style collect):
python manage.py collectstatic

Last updated: January 31, 2026

About

User Manager is a Django-based user management dashboard with role-based access, admin tooling (CRUD users), payroll workflows, and PDF reporting. Uses a simple local JSON datastore for demo/learning.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors