Skip to content

eathanjames/MeterReader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

MeterReader

Seeding data, commands ran in Bash dotnet ef migrations add InitialCreate --project Infrastructure --startup-project API dotnet ef database update --project Infrastructure --startup-project API

Initial Plan

  • Implement a Clean Architecture layout with the following layers: API, Application, Domain, and Infrastructure.
  • Start with Minimal APIs for quick endpoint scaffolding. Depending on progress and complexity, consider migrating to Controllers later
  • Configure an in-memory SQLite database. Implement a data importer to seed the database on startup.
  • Develop a CSV parser to process input files and map the data into DTOs for subsequent validation.
  • Implement validation rules and corresponding unit tests to ensure data integrity. Validation Rules:
  • Duplicate entries must be rejected.
  • Each meter reading must be linked to a valid Account ID.
  • Reading values must follow the NNNNN numeric format.
  • For accounts with existing readings, new readings must not be older than the latest recorded reading.

Made use of a library for CSV file reading documentation seen here; https://joshclose.github.io/CsvHelper

AI Access to JetBrains AI and Chatgpt. JetBrains AI used for autocompletion and checking primary unit test coverage. Chatgpt used for sense checking and error debugging as well as rewording some text such as the above.

About

MeterReader example application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages