Skip to content

Satyabandi20/user_management

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

User Management 📋

Project Overview

The User Management System is a secure and feature-rich platform to manage user profiles, roles, authentication, and file uploads. It includes image upload via MinIO, strong validation mechanisms, and containerized deployment for scalability.


🔧 Repository & Image Links


✅ Closed Issues (Bug Fixes & Enhancements)

  • #15: Profile Picture Upload with Minio
  • #12: Password strength validation
  • #10: Profile picture URL validation
  • #8: UniqueViolationError due to duplicate nickname values
  • #7: Unauthorized role downgrade during email verification
  • #5: User-ID is None upon clicking on Verify Email
  • #3: Docker Build Failure Due to libc-bin Conflict
  • #1: Dependency conflicts while scanning the docker image: Trivy vulnerabilities

Features Implemented & Issues/Bugs Fixed ✨

📸 Profile Picture Upload (MinIO)

  • Upload, resize, and store user profile pictures.
  • File format validation (.jpg, .jpeg, .png).
  • Generates secure MinIO-hosted image URLs.
  • Handles large file validations and errors.

🔐 Strong Password Validation

  • Enforces rules for secure passwords:
    • Min 8 characters
    • At least one uppercase, lowercase, digit, and special character

🔁 Unique Email/Nickname Check

  • Avoids duplicate account creation by validating against existing records.

🔗 Profile Picture URL Validation

  • Regex-based check to ensure only valid URLs are saved.

🚫 Role Preservation on Email Verification

  • Prevents role reset to default after email verification.

🐳 Docker & Dependency Cleanup

  • Fixed issues with libc-bin, updated Docker image, resolved Trivy vulnerabilities.

Testing & Quality Assurance 🧪

  • ✅ Unit tests for profile picture uploads, password validation, and user updates.
  • ✅ Validates duplicate values and proper error handling.
  • ✅ Integration tested with FastAPI and async DB.

Project Setup ⚙️

# 1. Clone the repo
git clone https://github.com/Satyabandi20/user_management.git
cd user_management

# 2. Run with Docker
docker-compose up --build -d

# 3. Apply DB migrations
alembic upgrade head

# 4. Access locally
http://localhost:8000/docs

Final Notes 📝

This project showcases a well-rounded backend system with security, scalability, and developer convenience in mind. MinIO integration, validation systems, and automated testing make it production-ready.


About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 97.8%
  • Dockerfile 1.7%
  • Mako 0.5%