A powerful, typed graph database developed from scratch in C#. The project implements its own data structures and classic algorithms without using third-party graphics libraries.
- Generic Architecture: Flexible type system
<TKey, TData, TEdgeData>. - Polymorphism Support:
- Nodes:
PersonData,CityData,CompanyData. - Edges:
FriendshipEdge,WorksAtEdge.
- Nodes:
- Algorithms:
- 🔍 BFS:.
- 🧠 DFS:.
- ⚡ Dijkstra:.
- 🔄 Cycle Detection:.
- Persistence: Saving/Loading a database in JSON (System.Text.Json).
- Unit Testing: Coverage with xUnit tests (20+ tests).
classDiagram
class Graph {
+Dictionary Nodes
+AddNode()
+AddEdge()
+RemoveNode()
}
class Node {
+TKey ID
+TData Data
+List Edges
}
class Edge {
+Node From
+Node To
+TEdgeData Data
}
Graph *-- Node
Node *-- Edge