A centralized repository and developer sandbox dedicated to software engineering projects, utility scripts, algorithms, and continuous learning.
Welcome to CodeCraftHub! This repository serves as my personal development sandbox and master portfolio for software engineering experiments. It is designed to store, organize, and document various coding projects ranging from algorithmic problem-solving and automation scripts to full-stack application modules.
CodeCraftHub is a personalized learning platform for developers, built using
Node.js, MongoDB, Docker, and Generative AI.
The platform is designed to deliver adaptive learning experiences by managing users, enabling secure authentication, and providing a scalable server-side architecture that can be extended with AI-driven recommendations and learning analytics.
This repository focuses on the User Management Service, a core backend microservice responsible for user registration, authentication, authorization, and secure data handling
The primary goal of this hub is to demonstrate clean code architecture, version control best practices, and a commitment to continuous technical improvement.
Currently, this repository highlights the User Management Service, a foundational backend microservice designed to deliver adaptive learning experiences. It manages users, enables secure authentication, and provides a scalable server-side architecture that can be extended with AI-driven recommendations and learning analytics.
The following screenshots detail the project's development lifecycle, from initial architectural AI planning to local environment setup and API endpoint validation.
1. AI-Assisted Architecture Planning
Leveraging Generative AI (via watsonx) to conceptualize the initial backend design. The AI's output recommended a Microservices Architecture and an API Gateway, establishing the foundational blueprint and requirements for the platform.

2. Backend Development & Database Schema
A look into the Cloud IDE workspace during the initial build phase. The terminal shows the robust directory scaffolding (controllers, models, routes, services, utils). The editor highlights the userModel.js file, demonstrating the Mongoose schema implementation with built-in role-based parameters (Student, Instructor, Admin).

3. API Testing & Secure JWT Generation
Validating the authentication workflow using Postman. The screenshot captures a successful POST request to the /api/users/login endpoint. Upon verifying the email and password, the backend securely responds with an HTTP 200 OK status and issues a JSON Web Token (JWT) for subsequent authenticated requests.

- Secure Authentication: User registration and login utilizing JWT-based authentication.
- Data Security: Secure password hashing implemented using
bcrypt. - Database Integration: Seamless MongoDB integration using Mongoose ORM.
- Scalable Design: A highly modular and scalable backend microservices architecture.
- Reliability: Centralized logging and robust error handling.
- Environment Security: Environment-based configuration using
.envvariables. - Containerization: Fully containerized deployment orchestrated with Docker & Docker Compose.
The following diagram illustrates how CodeCraftHub is split between utility modules and the containerized User Management microservice.
graph TD
subgraph CodeCraftHub Sandbox
A[Python Scripts] --> D(Automation & Data Processing)
B[Bash Scripts] --> D
C[Algorithms] --> D
end
subgraph Personalized Learning Platform
E[Client / Web Browser] -->|HTTP Requests| F(Node.js API Gateway / Express)
F -->|Validate JWT| G[User Management Service]
G <-->|Mongoose ORM| H[(MongoDB Container)]
end
classDef node fill:#339933,stroke:#fff,stroke-width:2px,color:#fff;
classDef mongo fill:#47A248,stroke:#fff,stroke-width:2px,color:#fff;
class F,G node;
class H mongo;
To maintain a clean and scalable codebase, projects within this hub are compartmentalized into specific domains.
- General Hub Architecture
CodeCraftHub/
βββ automation-scripts/ # Bash and Python scripts for workflow automation
βββ algorithms/ # Data structures and algorithmic problem-solving
βββ web-development/ # Front-end and back-end application modules
βββ data-processing/ # Scripts for data parsing, cleaning, and analysis
- User Management Service (Final Project Structure)
project-root/
βββ docker-compose.yml # Docker Compose orchestration (Node.js + MongoDB)
βββ user-management-service/
β βββ src/
β β βββ config/ # Database, server, and environment configuration
β β βββ controllers/ # Request-handling logic
β β βββ middlewares/ # Authentication middleware
β β βββ models/ # MongoDB schemas
β β βββ routes/ # API route definitions
β β βββ services/ # Business logic layer
β β βββ utils/ # Logging and error handling utilities
β β βββ app.js # Application entry point
β βββ tests/ # Automated unit and API tests
β βββ Dockerfile # Docker image definition for Node.js service
β βββ .env # Environment variables (not committed)
β βββ .gitignore
β βββ package.json
β βββ package-lock.json
β βββ README.md # Project documentation
Security Considerations
β’ Passwords are hashed before storage
β’ JWT tokens are used for secure authentication
β’ Environment variables protect sensitive configuration
β’ Centralized error handling prevents sensitive data exposure
βΈ»
Future Enhancements
β’ Role-based authorization
β’ AI-powered personalized learning recommendations
β’ Additional microservices (courses, exercises, analytics)
β’ Cloud deployment (Kubernetes / managed databases)
βΈ»
- Backend Framework:
β API routing, microservice architecture, and server logic.
- Database:
β NoSQL data storage and object modeling (
Mongoose). - Containerization:
β Application containerization and service orchestration (
Docker Compose). - Scripting Languages:
β Core logic, workflow automation, and data processing.
- Security: π JWT & bcrypt β Token-based authentication and secure password hashing.
- Version Control:
β Source code management and feature branching.
If you would like to explore or test any of the scripts and projects contained in this hub, follow these standard steps:
- Clone the Hub Download a copy of the repository to your local machine:
git clone [https://github.com/HAMED-PAYANDA/CodeCraftHub.git](https://github.com/HAMED-PAYANDA/CodeCraftHub.git)
cd CodeCraftHub- Navigate to a Specific Module Move into the directory of the project you want to explore:
# Example: Navigating to the python automation scripts
cd automation-scripts- Execute the Code Run the desired script using the appropriate runtime environment:
# For Python scripts:
python3 script_name.py
# For Bash scripts (ensure execution permissions are set):
chmod +x script_name.sh
./script_name.shβ’ [ ] Role-Based Authorization: Expand the User Management service to include granular RBAC capabilities.
β’ [ ] AI-Powered Recommendations: Integrate generative AI to provide personalized learning paths.
β’ [ ] Service Expansion: Add adjacent microservices (e.g., courses, exercises, and analytics).
β’ [ ] Cloud Deployment: Deploy the containerized cluster using Kubernetes or managed cloud databases.
β’ [ ] CI/CD Integration: Integrate Continuous Integration workflows using GitHub Actions.
β’ [ ] TDD Implementation: Expand the algorithms section adhering strictly to test-driven development principles.
This project is licensed under the MIT License - see the LICENSE file for details.
Hamed Payanda
- GitHub: @HAMED-PAYANDA
- Completed as part of the IBM Full-Stack Software Developer Professional.