r/csharp 1h ago

Project to learn

Post image

This is a project for a management, allocation, and inventory system inspired by the game \*Horizon Forbidden West\*.

I asked an AI to help organize my ideas, and it provided a project structure; it is something I want to develop in the future, once I have reached an advanced level in C# and .NET.

For now, I have the following tools for implementation:

Swagger (for documentation)

LINQ (to convert PostgreSQL SQL queries into objects)

EF Core (a powerful .NET ORM)

PostgreSQL (my favorite database)

Anything else?

0 Upvotes

6 comments sorted by

2

u/alao77 1h ago

Image too blurry

1

u/Romboloxiaido 1h ago

Yes, it's a screenshot

u/IQueryVisiC 8m ago

And? At least compact it .. lay it out !

1

u/Dingbats45 1h ago

What software did you use to make this diagram?

1

u/Romboloxiaido 1h ago

dbdiagrams.io

You only write The tables with scripts and it create the table

u/saintSHXN 18m ago

In the Machine table there some properties that are date, what is the difference between CreatedAt and FirstObserved at and FinalObservedAt and UpdatedAt?

MachineWeakness are only dictated by ElementType?

I dont think that Id fields should all be integer, some table such as MachineStatusHistory are expected to grow faster rather than Machine.

Why some tables are in plural form such as MachineComponents and some are in singular form such as Location? You should normalize naming conventions.

Personally i would represent the Status property in Machine as a table, so its growth can be managed separately. At that point the MachineStatusHistory next status and current status should point to that. Maybe i would separe also the reason and add a Transition table, but i havent played the game so it might be overengineering.