Skip to content

waltermillan/To-Do-List

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📝 To-DoList Project

A to-do list is a time management tool used to list all tasks or activities that need to be completed. It serves as a reminder of what needs to be done, allowing users to organize their work or personal lives more effectively.


📅 Changelog

  • 06/04/2025:
    • Backend/Frontend/Database: Added entity-relationship diagram and Users table. Backend: Cleaned up code, added User entity. Frontend: Added login module, improved UI rendering. Executed unit tests: Ran ng test to execute unit tests defined in the *.spec.ts files, using frameworks like Jasmine and the Karma test runner.
  • 14/03/2025:
    • Backend/Frontend/Database: Corrected database table names to plural form, cleaned up frontend code.
  • 27/02/2025:
    • Backend/Frontend: Removed comments, improved frontend code, fixed various bugs.
  • 26/02/2025:
    • Frontend: Fixed API to follow RESTful conventions and ensured that routes use proper pluralization. Corrected frontend URL invocations.
  • 03/02/2025:
    • Frontend: Updated frontend, added audio listening functionality and speech-to-text conversion.
  • 02/02/2025:
    • Backend: Implemented Factory design pattern to create task instances. Added Serilog for logging in ASP.NET Core applications.
    • Backend: Added done field to Task model.
  • 31/01/2025:
    • Backend: Added unit tests.
  • 30/01/2025:
  • 29/01/2025: Initial release — Backend, Frontend, and Database.

🎯 Objective

Practice using .NET (C#) / SQL Server and Angular (TypeScript) / Design Patterns / Onion Architecture. Gain familiarity with Angular forms. Use an API to convert speech to text — specifically the Web Speech API, which enables browsers to perform real-time speech recognition.

Technologies:

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

🚀 Features

🔧 Backend

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

  • Structured using Onion Architecture

  • Utilizes several Design Patterns:

    • BaseEntity
    • UnitOfWork
    • Repository (for database access)
    • DTO (Data Transfer Object)
    • Singleton (for backend configuration)
    • Factory (for task instance creation)
  • Key Libraries:

    • Encryption:
      • System.Security.Cryptography (AES-256)
    • Logging:
      • Serilog
      • Serilog.Extensions.Logging
      • Serilog.Sinks.File
    • ORM:
      • Microsoft.EntityFrameworkCore.SqlServer
      • Microsoft.EntityFrameworkCore.Tools
    • UI:
      • @angular/material 18.2.14
      • @angular/cdk 18.2.14

💻 Frontend

  • Built with Angular 18.0.2 / 18.2.14
  • Features:
    • Reactive Forms
    • AuthService and HTTP Interceptors
    • Modular architecture
    • Creation of services and models
    • Custom Pipes and Shared Modules
    • Angular Material for UI components and popups

🗄️ Database

  • Uses MariaDB, deployed via Docker Desktop
  • Includes:
    • Entity-Relationship Diagram written for SQL Server (ERD)
    • Sample data insertion scripts (.sql)
    • DDL scripts (for schema creation)
    • DML scripts (for sample data insertion)

🧪 Installation

✅ Prerequisites

Ensure the following tools are installed on your machine:


🔧 Setup Steps

  1. Clone the repository:

    git clone https://github.com/waltermillan/To-Do-List.git
  2. Follow the setup video guide:

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


📄 License

This project is licensed under the MIT License.

About

Time management tool used to list all tasks or activities to be performed.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors