Flights metasearch engine simulation using Java, GraphQL and React.js, developed for COMP30220 Distributed Systems.

Overview

Distributed Airways

Requirements

  • Docker
  • JDK 8 and Apache Maven
  • Node.js [Note: This is only required if starting the development server for the ui/ module. Not necessary when running the services with docker-compose.]
  • kubectl for Kubernetes deployment
  • minikube for Kubernetes deployment

Getting Started

The application can be run with either Docker Compose or Kubernetes (K8s).

docker-compose

TLDR;

  • Clean build and start:
    time ./clean-start.sh && sleep 25 && open http://localhost:1337
  • [Optional] Quicker subsequent build alternative:
    docker-compose down && docker-compose up -d && sleep 25 && open http://localhost:1337

Running the services

  • Compile and run all services in Docker (detached mode) using:

    ./clean-start.sh

    This is equivalent to running:

    mvn clean install
    docker-compose down --remove-orphans
    docker-compose build --no-cache
    docker-compose up -d
  • To view the logs for any particular container, use:

    docker-compose logs $CONTAINER_NAME
  • [Optional] To run the basic CLI client, use:

    mvn exec:java -pl cli-client
  • To view the frontend, navigate to http://localhost:1337.

Kubernetes

NGINX Ingress is not included by default so the following command must be run once:

minikube addons enable ingress

Running the cluster

  • First make sure minikube is running:

    minikube start
  • Spin up services (takes around 2-5 minutes):

    kubectl apply -f k8s
  • For easy monitoring, use the Kubernetes dashboard:

    minikube dashboard
  • On another terminal, enable minikube tunnelling to make service accessible on localhost:

    minikube tunnel

Frontend: http://localhost/
Backend: http://localhost/api/graphql/

Clean up

kubectl delete deployments --all
kubectl delete services --all
kubectl delete pods --all
kubectl delete daemonset --all
kubectl delete pvc -all
kubectl delete pv -all

FAQ

  • Where are the images coming from?
    • Images are uploaded to Docker Hub and pulled when the cluster is created.
    • After making changes to any module, the docker.sh script (found at the root of individual modules) can be executed to build and push the image to Docker Hub.
    • Docker Buildx is used to create multi-platform images (to support both amd64 and arm64 processors). Setup instructions can be found in the official documentation.
  • How should the frontend/broker/individual airline services be scaled?
    • In the k8s/ directory, the appropriate .yaml file's replicas attribute can be modified.

User Interface

Team

Acknowledgements

Comments
  • Bump loader-utils from 2.0.2 to 2.0.4 in /ui

    Bump loader-utils from 2.0.2 to 2.0.4 in /ui

    Bumps loader-utils from 2.0.2 to 2.0.4.

    Release notes

    Sourced from loader-utils's releases.

    v2.0.4

    2.0.4 (2022-11-11)

    Bug Fixes

    v2.0.3

    2.0.3 (2022-10-20)

    Bug Fixes

    • security: prototype pollution exploit (#217) (a93cf6f)
    Changelog

    Sourced from loader-utils's changelog.

    2.0.4 (2022-11-11)

    Bug Fixes

    2.0.3 (2022-10-20)

    Bug Fixes

    • security: prototype pollution exploit (#217) (a93cf6f)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies javascript 
    opened by dependabot[bot] 0
  • Bump graphql-java from 17.3 to 17.4 in /emirates

    Bump graphql-java from 17.3 to 17.4 in /emirates

    Bumps graphql-java from 17.3 to 17.4.

    Release notes

    Sourced from graphql-java's releases.

    17.4

    This is a security bugfix release containing only one PR: graphql-java/graphql-java#2902

    GraphQL Java has a max token limit per request preventing DOS attacks. But in some circumstances it was not enough to prevent malicious requests. This release fixes this problem.

    All details can be found here: graphql-java/graphql-java#2892

    Commits
    • cb88645 17.x port - Stop DOS attacks by making the lexer stop early on evil input (#2...
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies java 
    opened by dependabot[bot] 0
  • Bump graphql-java from 17.3 to 17.4 in /ryan-air

    Bump graphql-java from 17.3 to 17.4 in /ryan-air

    Bumps graphql-java from 17.3 to 17.4.

    Release notes

    Sourced from graphql-java's releases.

    17.4

    This is a security bugfix release containing only one PR: graphql-java/graphql-java#2902

    GraphQL Java has a max token limit per request preventing DOS attacks. But in some circumstances it was not enough to prevent malicious requests. This release fixes this problem.

    All details can be found here: graphql-java/graphql-java#2892

    Commits
    • cb88645 17.x port - Stop DOS attacks by making the lexer stop early on evil input (#2...
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies java 
    opened by dependabot[bot] 0
  • Bump graphql-java from 17.3 to 17.4 in /broker

    Bump graphql-java from 17.3 to 17.4 in /broker

    Bumps graphql-java from 17.3 to 17.4.

    Release notes

    Sourced from graphql-java's releases.

    17.4

    This is a security bugfix release containing only one PR: graphql-java/graphql-java#2902

    GraphQL Java has a max token limit per request preventing DOS attacks. But in some circumstances it was not enough to prevent malicious requests. This release fixes this problem.

    All details can be found here: graphql-java/graphql-java#2892

    Commits
    • cb88645 17.x port - Stop DOS attacks by making the lexer stop early on evil input (#2...
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies java 
    opened by dependabot[bot] 0
  • Bump terser from 5.13.1 to 5.14.2 in /ui

    Bump terser from 5.13.1 to 5.14.2 in /ui

    Bumps terser from 5.13.1 to 5.14.2.

    Changelog

    Sourced from terser's changelog.

    v5.14.2

    • Security fix for RegExps that should not be evaluated (regexp DDOS)
    • Source maps improvements (#1211)
    • Performance improvements in long property access evaluation (#1213)

    v5.14.1

    • keep_numbers option added to TypeScript defs (#1208)
    • Fixed parsing of nested template strings (#1204)

    v5.14.0

    • Switched to @​jridgewell/source-map for sourcemap generation (#1190, #1181)
    • Fixed source maps with non-terminated segments (#1106)
    • Enabled typescript types to be imported from the package (#1194)
    • Extra DOM props have been added (#1191)
    • Delete the AST while generating code, as a means to save RAM
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies javascript 
    opened by dependabot[bot] 0
  • Bump postgresql from 42.3.3 to 42.4.1 in /cathay-pacific

    Bump postgresql from 42.3.3 to 42.4.1 in /cathay-pacific

    Bumps postgresql from 42.3.3 to 42.4.1.

    Release notes

    Sourced from postgresql's releases.

    42.4.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/pgjdbc/pgjdbc/compare/REL42.3.6...REL42.4.0

    Changelog

    Sourced from postgresql's changelog.

    Changelog

    Notable changes since version 42.0.0, read the complete History of Changes.

    The format is based on Keep a Changelog.

    [Unreleased]

    Changed

    Added

    Fixed

    [42.4.1] (2022-08-01 16:24:20 -0400)

    Security

    • fix: CVE-2022-31197 Fixes SQL generated in PgResultSet.refresh() to escape column identifiers so as to prevent SQL injection.
      • Previously, the column names for both key and data columns in the table were copied as-is into the generated SQL. This allowed a malicious table with column names that include statement terminator to be parsed and executed as multiple separate commands.
      • Also adds a new test class ResultSetRefreshTest to verify this change.
      • Reported by Sho Kato

    Changed

    • chore: skip publishing pgjdbc-osgi-test to Central
    • chore: bump Gradle to 7.5
    • test: update JUnit to 5.8.2

    Added

    • chore: added Gradle Wrapper Validation for verifying gradle-wrapper.jar
    • chore: added "permissions: contents: read" for GitHub Actions to avoid unintentional modifications by the CI
    • chore: support building pgjdbc with Java 17 chore: added Gradle Wrapper Validation for verifying gradle-wrapper.jar chore: added "permissions: contents: read" for GitHub Actions to avoid unintentional modifications by the CI chore: support building pgjdbc with Java 17 feat: synchronize statement executions (e.g. avoid deadlock when Connection.isValid is executed from concurrent threads)

    Fixed

    [42.4.0] (2022-06-09 08:14:02 -0400)

    Changed

    • fix: added GROUP_STARTUP_PARAMETERS boolean property to determine whether or not to group startup parameters in a transaction (default=false like 42.2.x) fixes [Issue #2425](pgjdbc/pgjdbc#2497) pgbouncer cannot deal with transactions in statement pooling mode [PR #2425](pgjdbc/pgjdbc#2425)

    Fixed

    ... (truncated)

    Commits
    • bd91c4c Prepare for release (#2580)
    • 739e599 Merge pull request from GHSA-r38f-c4h4-hqq2
    • 736f959 fix: replace syncronization in Connection.close with compareAndSet
    • 4673fd2 feat: synchronize statement executions (e.g. avoid deadlock when Connection.i...
    • fd31a06 update the website content (#2578)
    • a6044d0 set a timeout to get the return from requesting SSL upgrade. (#2572)
    • 58d6fa0 test: bump system-stubs-jupiter to 2.0.1 to support Java 16+
    • b452d8c test: avoid concurrent executions of tests that update environment and system...
    • aa5758a test: update JUnit to 5.8.2
    • 36cd24c fix: log connection URL when it can't be parsed
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies java 
    opened by dependabot[bot] 0
  • Bump postgresql from 42.2.18 to 42.3.3 in /cathay-pacific

    Bump postgresql from 42.2.18 to 42.3.3 in /cathay-pacific

    Bumps postgresql from 42.2.18 to 42.3.3.

    Changelog

    Sourced from postgresql's changelog.

    [42.3.3] (2022-02-15 11:32:24 -0500)

    Changed

    • fix: Removed loggerFile and loggerLevel configuration. While the properties still exist. They can no longer be used to configure the driver logging. Instead use java.util.logging configuration mechanisms such as logging.properties.

    Added

    Fixed

    [42.3.2] (2022-02-01 07:35:41 -0500)

    Security

    • CVE-2022-21724 pgjdbc instantiates plugin instances based on class names provided via authenticationPluginClassName, sslhostnameverifier, socketFactory, sslfactory, sslpasswordcallback connection properties. However, the driver did not verify if the class implements the expected interface before instantiating the class. This would allow a malicious class to be instantiated that could execute arbitrary code from the JVM. Fixed in commit

    Changed

    • perf: read in_hot_standby GUC on connection [PR #2334](pgjdbc/pgjdbc#2334)
    • test: materialized view privileges [PR #2209](pgjdbc/pgjdbc#2209) fixes [Issue #2060](pgjdbc/pgjdbc#2060)
    • docs: add info about convenience maven project [PR #2407](pgjdbc/pgjdbc#2407)
    • docs: Document timezone reversal from POSIX to ISO [PR #2413](pgjdbc/pgjdbc#2413)
    • fix: we will ask the server if it supports GSS Encryption if gssEncryption is prefer or require [PR #2396](pgjdbc/pgjdbc#2396) remove the need to have a ticket in the cache before asking the server if gss encryptions are supported
    • docs: remove Java 6 and 7 references from contributing [PR #2385](pgjdbc/pgjdbc#2385)
    • style: remove Java 8 / JDBC 4.2 checks [PR #2383](pgjdbc/pgjdbc#2383) Remove all remaining checks whether the source is lower than Java 8 or JDBC 4.2.
    • fix: throw SQLException for #getBoolean BIT(>1) [PR #2386](pgjdbc/pgjdbc#2386) Throw SQLException instead of ClassCastException when calling CallableStatement#getBoolean(int) on BIT(>1).
    • style: import java.time types in more classes [PR #2382](pgjdbc/pgjdbc#2382) Use imports for java.time types in all remaining classes.
    • style: import java.time types in TimestampUtils [PR #2380](pgjdbc/pgjdbc#2380) Use imports for java.time types in TimestampUtils.
    • refactor: Change internal constructors to pass only connection Properties Changes internal constructors for PgConnection and related classes to only accept the connection properties object and remove the user and password arguments. Any locations that required those fields can retrieve them from the properties map.
    • test: Fix DatabaseMetadataTest to perform mview tests only on 9.3+
    • perf: read in_hot_standby GUC on connection [PR #2334](pgjdbc/pgjdbc#2334)
    • doc: improv doc around binary decoding of numeric data #2331
    • Add cert key type checking to chooseClientAlias [PR #2417](pgjdbc/pgjdbc#2417)

    Added

    • feat: Add authenticationPluginClassName option to provide passwords at runtime Adds authenticationPluginClassName connection property that allows end users to specify a class that will provide the connection passwords at runtime. Users implementing that interface must ensure that each invocation of the method provides a new char[] array as the contents will be filled with zeroes by the driver after use.Call sites within the driver have been updated to use the char[] directly wherever possible. This includes direct usage in the GSS authentication code paths that internally were already converting the String password into a char[] for internal usage. This allows configuring a connection with a password that must be generated on the fly or periodically changes. [PR #2369](pgjdbc/pgjdbc#2369) original issue [Issue #2102](pgjdbc/pgjdbc#2102)
    • feat: add tcpNoDelay option [PR #2341](pgjdbc/pgjdbc#2341) fixes [Issue #2324](pgjdbc/pgjdbc#2324)
    • feat: pg_service.conf and .pgpass support (jdbc:postgresql://?service=my-service) [PR #2260](pgjdbc/pgjdbc#2260) fixes [Issue #2278](pgjdbc/pgjdbc#2278)

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies java 
    opened by dependabot[bot] 0
Owner
Rajit Banerjee
CS with Data Science @ UCD
Rajit Banerjee
Operating Systems - Concepts of computer operating systems including concurrency, memory management, file systems, multitasking, performance analysis, and security. Offered spring only.

Nachos for Java README Welcome to Nachos for Java. We believe that working in Java rather than C++ will greatly simplify the development process by p

Sabir Kirpal 1 Nov 28, 2021
This project contains a full example of an application developed using Spring Boot and GraphQL within the Java.

Spring boot GraphQL Example This project contains a full example of an application developed using GraphQL within the Java. The project includes a com

Haoqiao Wang 3 Jul 20, 2022
Sceneform React Native AR Component using ARCore and Google Filament as 3D engine. This the Sceneform Maintained Component for React Native

Discord Server Join us on Discord if you need a hand or just want to talk about Sceneform and AR. Features Remote and local assets Augmented Faces Clo

SceneView Open Community 42 Dec 17, 2022
Drools is a rule engine, DMN engine and complex event processing (CEP) engine for Java.

An open source rule engine, DMN engine and complex event processing (CEP) engine for Java™ and the JVM Platform. Drools is a business rule management

KIE (Drools, OptaPlanner and jBPM) 4.9k Dec 31, 2022
Distributed Systems Assignment 1

DSYS_A1 Distributed Systems Assignment 1 The application that I have decided to have as my assignment is a testing application. The supervisor server

Owais Quadri 3 Dec 14, 2021
Project developed for MB Talk - App Center integration on React Native

App Center Setup Download APK Click here Requirements React Native CLI Yarn Sign Up on App Center and create a new App. How to use this repo Clone thi

André Angeloni 2 Oct 31, 2022
A suite of software tools and services created to support activity planning and sequencing needs of missions with modeling, simulation, scheduling and validation capabilities

Aerie A suite of software tools and services created to support activity planning and sequencing needs of missions with modeling, simulation, scheduli

NASA Advanced Multi-Mission Operations System 31 Jan 3, 2023
Application for creating blog posts, developed with Java using Spring Framework for backend and Angular along with PrimeNG Library for frontend development.

Application for creating blog posts, developed with Java using Spring Framework for backend and Angular along with PrimeNG Library for frontend development.

Áureo Carmelino 10 Nov 27, 2022
A Toolkit for Modeling and Simulation of Resource Management Techniques in Internet of Things, Edge and Fog Computing Environments

The iFogSimToolkit (with its new release iFogSim2) for Modeling and Simulation of Resource Management Techniques in Internet of Things, Edge and Fog Computing Environments. In the new release Mobili Management, Microservice Management, and Dynamic Clustering mechanisms are added as new features.

The Cloud Computing and Distributed Systems (CLOUDS) Laboratory 69 Dec 17, 2022
In this course, we will learn how to build a complete full-stack web application using Spring boot as backend and React (React Hooks) as frontend

In this course, we will learn how to build a complete full-stack web application using Spring boot as backend and React (React Hooks) as frontend. We will use MySQL database to store and retrieve the data.

Ramesh Fadatare 43 Dec 22, 2022
Swerve control, simulation, and trajectory generation / following. Everything you need for swerve.

BearSwerve BearSwerve is intended to be an all in one swerve solution including: teleop driving, simulation, trajectory following and more. It combine

null 7 Dec 28, 2022
With react-native-update-in-app library you can easily implement in-app updates in your React Native app using CDN or any other file server

React Native In-App update With react-native-update-in-app library you can easily implement in-app updates in your React Native app using CDN or any o

Nepein Andrey 7 Dec 21, 2022
Cadence is a distributed, scalable, durable, and highly available orchestration engine to execute asynchronous long-running business logic in a scalable and resilient way.

Cadence This repo contains the source code of the Cadence server and other tooling including CLI, schema tools, bench and canary. You can implement yo

Uber Open Source 6.5k Jan 4, 2023
E-Commerce System Simulation with layered architecture

ECommermeSimulation E-Commerce System Simulation with layered architecture Users can become a member of the system by entering their information. User

Esranur Türkmen 5 Jul 16, 2021
Create historical stock market simulation.

Market Simulation Create historical stock market simulation. THIS PROJECT IS MADE FOR SCHOOL! Overview Material designed for Java. Tested with openjdk

null 1 Jan 29, 2022
:herb: 基于springboot的快速学习示例,整合自己遇到的开源框架,如:rabbitmq(延迟队列)、Kafka、jpa、redies、oauth2、swagger、jsp、docker、spring-batch、异常处理、日志输出、多模块开发、多环境打包、缓存cache、爬虫、jwt、GraphQL、dubbo、zookeeper和Async等等:pushpin:

欢迎大家留言和PR~ Tip: 技术更新换代太快,本仓库仅做参考,自己的项目具体使用哪个版本还需谨慎思考~(不推荐使用最新的版本,推荐使用(最新-1|2)的版本,会比较稳定) spring-boot-quick 前言   自己很早就想搞一个总的仓库就是将自己平时遇到的和学习到的东西整合在一起,方便后

wangxc 2.1k Jan 2, 2023
A developer oriented, headless ecommerce framework based on Spring + GraphQL + Angular.

GeekStore A developer oriented, headless ecommerce framework based on Spring + GraphQL + Angular. Headless means GeekStore only focus on the backend,

波波微课 13 Jul 27, 2022
An example of how to working with paging in Spring for GraphQL / Spring Data JPA

Spring for GraphQL Paging This repo contains the code for a live coding session I did on: Spring Data JPA GraphQL Paging & Sorting The reason I put th

Dan Vega 10 Nov 28, 2022
Spring for GraphQL demo project with a Vue frontend.

Spring Books - Hello GraphQL This is a demo project that will introduce you to [https://spring.io/projects/spring-graphql](Spring for GraphQL). The Sp

Dan Vega 11 Dec 2, 2022