typedb / typedb-driver-examples

TypeDB Driver Example Projects and Tutorials
https://typedb.com
Apache License 2.0
84 stars 57 forks source link

Add Fraud Detection example #148

Closed SullivanDaly closed 1 year ago

SullivanDaly commented 1 year ago

What is the goal of this PR?

Adding a fraud example using quarkus in order to get a graphql front end.

What are the changes implemented in this PR?

This project uses Quarkus, the Supersonic Subatomic Java Framework in order to let us present results with GraphQL. In this project, we use TypeDB to represent a queryable database of relevant fraud detection data about some transactions between Cardholders and Companies.

We can also see how easy it is to create complex queries using query composition.

We are using the DAO design pattern on which our design depends to be able to treat data and demonstrate query composition in TypeDB.

typedb-bot commented 1 year ago

PR Review Checklist

Do not edit the content of this comment. The PR reviewer should simply update this comment by ticking each review item below, as they get completed.


Trivial Change

Code

Architecture

jamesreprise commented 1 year ago

@SullivanDaly @shane-k-j See the above comments. Sometimes GitHub comments will say 'outdated', but the content is still relevant if I have not resolved it. Once we address all of the unresolved comments, I'll have a go running the example and then we should be ready to merge!

alexjpwalker commented 1 year ago

@SullivanDaly cc @jamesreprise When submitting PRs, also ensure that the PR title and description are refined: see https://forum.vaticle.com/t/code-contributions/176#vigilant-mode-5 for the guidelines!


The current PR template is:

For the title of this PR: please follow the grammatical rules of a usual publication title, without capitalisation (except for the first letter). Thus, the title should NOT CONTAIN CODE: no dots, no parentheses, no backticks, no brackets, etc. It needs to be distinctive (not detailed) and succinct (not lengthy). Details of this PR will go in the description. For the description of this PR: please replace every line in curly brackets ( { like this } ) with an appropriate description following the guidance. Finally, please remove this paragraph.

What is the goal of this PR?

{ In the form of a paragraph (only use bullet points if strictly necessary), please describe the goal of this PR, why they are valuable to achieve, and reference the related GitHub issues. This section will be automatically compiled into the release notes, so please:

What are the changes implemented in this PR?

{ Please explain what you implemented, why your changes are the best way to achieve the goal(s) above. Please describe every method, class and package, by explaining:

This would allow the reviewer to understand your intentions in the code much better. If you're adding new classes, make sure these explanations are also included in the class header comments. Last but not least, please reference the GitHub issues to be automatically closed, such like 'closes #number'. }


Feel free to browse previous (recent) PRs in this repository to get a general feel for how we present PRs.