Skip to content

This conjecture was enunciated by the German mathematician Lothar Collatz in 1937, and consists of applying operations to a positive integer following these two conditions: If the number is even, it is divided by 2. If the number is odd, it is multiplied by 3 and 1 is added to the result.

Notifications You must be signed in to change notification settings

waltermillan/CollatzConjecture

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“ CollatzConjecture Project

  • Given a positive integer, we seek to generate all the numbers in the Collatz series until reaching the sequence: 4, 2, 1.
  • Display historical query information stored in MongoDB.

πŸ“… Changelog

  • 02/04/2025:
    • Full Stack: Added history tracking functionality. Fixed minor bugs.
  • 01/04/2025:
    • Backend: Added connection to MongoDB database. Integrated Serilog.
    • Frontend: Added graphical libraries: @swimlane/ngx-charts, d3, @angular/cdk, @angular/animations.
  • 08/03/2025:
    • Backend/Frontend: Initial upload of code including entities, interfaces, models, and services. Removed frontend/.vscode directory.

🎯 Objective

Practice .NET (C#), Design Patterns, and Onion Architecture.

Technologies:

  • .NET (C#) and SQL Server
  • Angular (TypeScript)
  • Design Patterns
  • Onion Architecture

πŸš€ Features

πŸ”§ Backend

Implements common design patterns including BaseEntity, Repository, UnitOfWork, and Factory (for task instance creation).

  • Based on Onion Architecture

  • Applies key Design Patterns:

    • BaseEntity
    • UnitOfWork
    • Repository (for data access)
    • DTO (Data Transfer Object)
  • Key Libraries:

    • Logging:
      • Serilog
      • Serilog.Settings.Configuration
      • Serilog.Sinks.Console
    • ORM:
      • Microsoft.EntityFrameworkCore
      • Microsoft.EntityFrameworkCore.Design
      • Microsoft.EntityFrameworkCore.SqlServer
      • Microsoft.EntityFrameworkCore.Tools
      • MongoDB.Driver (for connecting to MongoDB)
    • UI:
      • @swimlane/ngx-charts 18.2.14 (for line charts)
      • @angular/animations 18.2.14 (for UI transitions)

πŸ’» Frontend

  • Built with Angular 18.0.2 / 18.2.14
  • Features:
    • Reactive Forms
    • AuthService and HTTP Interceptors
    • Modular architecture
    • Service and model generation
    • Chart visualization using @swimlane/ngx-charts

πŸ—„οΈ Database

  • Uses MongoDB, deployed with Docker Desktop
  • Includes:
    • Entity-Relationship diagram (based on SQL Server schema design)
    • Sample data files (.json)
    • DDL scripts for schema definition
    • DML scripts for sample data insertion

πŸ§ͺ Installation

βœ… Prerequisites

Ensure the following tools are installed:


πŸ”§ Setup Steps

  1. Clone the repository:

    git clone https://github.com/waltermillan/CollatzConjecture.git
  2. Follow the setup video guide:

  3. Complete the remaining setup steps as outlined in the project documentation.


πŸ“„ License

This project is licensed under the MIT License.

About

This conjecture was enunciated by the German mathematician Lothar Collatz in 1937, and consists of applying operations to a positive integer following these two conditions: If the number is even, it is divided by 2. If the number is odd, it is multiplied by 3 and 1 is added to the result.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published