Skip to content

Software Development at Program Tom LTD

Place for coding, programming, development and software in general.

Menu
  • Blog
  • PDF Booklets
  • Dev Utils & Content
  • Java Spring Boot Or Web Apps
  • English
    • български
    • English
    • Español
    • Português
    • हिन्दी
    • Русский
    • Deutsch
    • Français
    • Italiano
    • العربية
  • About Us
Menu
Apps with Graph Data Structure

Apps with Graph Data Structure

Posted on March 12, 2024March 13, 2024 by Toma Velev

Apps with Graph Data Structure are far too often in broad application types than you think. Long time ago – when I was University – it was marked as good idea – to mix expertise from different humanatory nishes and “connect the dots”. There are tons of applications that use graphs.

Navigation between nodes (bonus – with weights)

Finding the shortest path between too nodes is very common algorithm in geography related applications that need the path between two nodes.

  • Maps
  • Navigation
  • Ticketing Apps between GPS Locations

More about the algorithm – Google Search it: https://www.google.com/search?q=finding+the+shortest+path+in+a+graph.

Google Search

Search itself is a graph application. Long time ago Larry Page and Sergey Brin figured out that Web Sites are nodes in a graph with directed links to others. The weight on the links here is (could be) the amount of receiving connections. Of course there are a lof of custom weights besides the pure linking search engine optimization – so to minimize any illegal or harmful content. 

Transition between screens

Similarly to web pages – the possible transitions between screens in mobile application could be visualized as graph. I’ve started creating a mini app that generates just that https://programtom.com/dev/product/app-routing-code-snippets-generator-beta/.

Screen or Component/Widget State

Every Screen in Mobile application has common states https://programtom.com/dev/2023/07/12/what-are-the-flutter-bloc-state-management-common-states/. I’ve learned a lot on this by using the rx_bloc ecosystem. So – the combinations and permutations of all the state form all the nodes in a graph. The links between the nodes are the events – that here does not carry weight per say – but arguments and parameters that mutate the state.

Login Authentication

I’ve written before how – login is one of the trickiest points to get right. There are many ways to improve security with additional authentication variations with help of flags, second level authentications and external services. With the raise of the price of Bitcoin (at the time of writing this 71700$ per coin), probably Web3 will also return. 

Because of all the above complexity – there are Services that are focused and offer products strictly on this topic https://connect2id.com/. I’ve made small contribution on this when I’ve made some effort on  Client Initiated Backchannel Authentication logic several years ago.

Payment

I’ve written it before in a article about Payments. To execute it right – after every dollar that flows over the internet there are tons of hooks, callbacks, double checks and verifications. All this logic is handled by nodes of servers – some small amount – controlled by you and few – managed by third parties. 

Micro Services

Micro Service Architecture are the nowadays norm for backends. Minimizing every single logic to a small module allows: 

  • putting them in separate containers and scaling what is needed
  • wrapping them in even more abstract boxes that are handled serverless – from a developer point of view. There is always a server somewhere – of course.

A colleague of mine works at pliant where they orquestrate the communication with APIs – nodes – in a graph like visualization.

RDBMS

The relational databases that power all ther internet form graph-like relationships between data records. If you’ve used any visual Database Management Tool – you probably know what they are all about:

  • Squares of record types
  • Links between Tables – based on public and foreign keys

Programming Logic itself

All programming logic itself could be seen/visualized as graph with the help of UML transition diagram. If you have a full state machine – all you need is the logic to be implemented (or generated) in some programming language and executed.

What you Eat

I’ve done for one of my projects a small demo https://kakvoiadesh.com/app/graph/index.jsp?bodyPart=2, demonstrating the interconnectivity of:

  • food products
  • harmful ingredients
  • beneficial ingredients
  • body parts
  • diseases

Family Tree

Another application that is a graph with nodes and relations – “above”, “below”, and “sideways”. I have an idea to code my version of ths app myself at some point.

Read more theoretical links on Graphs on wikipedia:

  • https://en.wikipedia.org/wiki/Graph_traversal
  • https://en.wikipedia.org/wiki/Depth-first_search
  • https://en.wikipedia.org/wiki/Breadth-first_search
  • Join iOS Beta Testing Explained
  • Firebase App Distribution Setup
  • iOS App Lifetime Unverified
  • Flutter Bottom Border
  • Get Flutter current time zone

Categories

  • Apps (25)
  • ChatGPT (24)
  • Choosing a Framework (38)
  • Flutter (279)
  • Graphical User Interface (14)
  • Marketing (118)
  • Software Development (288)
  • Spring (45)
  • StartUp (22)
  • Uncategorized (4)
  • Uncategorized (14)
  • Vaadin (15)

Tags

Algorithms (9) crypto (29) flutterdev (39) General (86) Java (7) QR & Bar Codes (3) Software Dev Choices (33) Spring Boot (1) standards (1) Theme (3) User Authentication & Authorization (9) User Experience (10) Utilities (19) WordPress (11)

Product categories

  • All Technologies (86)
    • Flutter Apps (26)
    • GPT (4)
    • Java (38)
    • Native Android (3)
    • PHP (9)
    • Spring (Boot) / Quarkus (35)
    • Utils (15)
    • Vaadin 24+ (27)
    • Vaadin 8 (1)
  • Apps (18)
    • Employees DB (1)
    • Notes (6)
    • Personal Budget (1)
    • Recipes Book (1)
    • Stuff Organizer (1)
    • To-Do (2)
  • PDF Books (3)
  • Source Code Generators (8)

Recent Posts

  • Join iOS Beta Testing Explained
  • Firebase App Distribution Setup
  • iOS App Lifetime Unverified
  • Flutter Bottom Border
  • Get Flutter current time zone

Post Categories

  • Apps (25)
  • ChatGPT (24)
  • Choosing a Framework (38)
  • Flutter (279)
  • Graphical User Interface (14)
  • Marketing (118)
  • Software Development (288)
  • Spring (45)
  • StartUp (22)
  • Uncategorized (4)
  • Uncategorized (14)
  • Vaadin (15)