Skip to content

shemaU2K/Graph_Database_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

112 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🕸️ Custom Graph Database (C#)

Build Status .NET License

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.

🌟 Features

  • Generic Architecture: Flexible type system <TKey, TData, TEdgeData>.
  • Polymorphism Support:
    • Nodes: PersonData, CityData, CompanyData.
    • Edges: FriendshipEdge, WorksAtEdge.
  • Algorithms:
    • 🔍 BFS:.
    • 🧠 DFS:.
    • Dijkstra:.
    • 🔄 Cycle Detection:.
  • Persistence: Saving/Loading a database in JSON (System.Text.Json).
  • Unit Testing: Coverage with xUnit tests (20+ tests).

🏗️ Class Architecture

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
Loading

About

read README.md

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages