Skip to content

Latest commit

Β 

History

23 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ› οΈ CodeCraftHub

A centralized repository and developer sandbox dedicated to software engineering projects, utility scripts, algorithms, and continuous learning.

Python Docker MongoDB Bash Node.js Git IBM Certification Status


πŸ“Œ Repository Overview

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.

πŸ›‘οΈ Core Focus: User Management Service

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.


πŸ“Έ Visual Proof

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. AI-Assisted Architecture Planning

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). Backend Workspace & Schema

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. Postman API Testing


✨ Key Features

  • 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 .env variables.
  • Containerization: Fully containerized deployment orchestrated with Docker & Docker Compose.

πŸ—οΈ System Architecture

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;
Loading

πŸ“ Repository Structure

To maintain a clean and scalable codebase, projects within this hub are compartmentalized into specific domains.

  1. 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
  1. 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)

βΈ»


πŸ› οΈ Core Tech Stack

  • Backend Framework: Node.js Express.js β€” API routing, microservice architecture, and server logic.
  • Database: MongoDB β€” NoSQL data storage and object modeling (Mongoose).
  • Containerization: Docker β€” Application containerization and service orchestration (Docker Compose).
  • Scripting Languages: Python Bash β€” Core logic, workflow automation, and data processing.
  • Security: πŸ” JWT & bcrypt β€” Token-based authentication and secure password hashing.
  • Version Control: Git GitHub β€” Source code management and feature branching.

βš™οΈ How to Use This Repository

If you would like to explore or test any of the scripts and projects contained in this hub, follow these standard steps:

  1. 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
  1. 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
  1. 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

πŸš€ Future Roadmap & Enhancements

β€’ [ ] 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.


πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘€ Author

Hamed Payanda

  • GitHub: @HAMED-PAYANDA
  • Completed as part of the IBM Full-Stack Software Developer Professional.

About

A centralized developer sandbox and personalized learning platform featuring a Node.js/MongoDB User Management microservice, automation scripts, and algorithmic projects.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages