Giter Club home page Giter Club logo

global-data's People

Stargazers

 avatar

global-data's Issues

Ballerina client for interacting with the global data API

Rather than having a central client, we will be using clients from each BFF
This way, the GQL client will only focus on the entities and processing logic related to the domain logic.
This is being done in the admissions applications BFF

The process to generate the GQL client is the following

  1. Query the JSON schema from the GraphQL service
  2. Convert JSON schema to IDL
    • graphql-introspection-json-to-sdl schema.json > schema.graphql
  3. Point to schema IDL file from graphql.config.yaml
  4. Create a file each for queries and mutations you want
  5. Copy queries and mutations to relevant files
  6. Point to those queries and mutations from graphql.config.yaml
  7. Run the bal command
    • bal graphql -i graphql.config.yaml -o gd_client_src

Complete slice of the GraphQL API (Geo tranche)

Implement a complete slice of the GraphQL API with the geo tranche. This ticket includes setting up base functionality such as tests for the API, and client generation.

  • #4
  • #13
  • GraphQL introspection query to get schema
  • GraphQL client autogeneration with bal graphql
  • #15
  • Investigate Azure Database solutions
  • Deploy Azure database
  • Pipeline to update Azure database
  • Test API functionality on Choreo

Enable tranched release to stage and production

Currently, the release pipeline has a (large) limitation where both the stage and production databases are updated during a release. This breaks the stage -> production promotion model, and is a blocker.

Currently exploring the best way to tackle this. To disable, simply comment the update-production-database job in the release.yml workflow to disable the production database update on release.

cc: @samisa-abeysinghe

Global Data Service v1

This issue covers the development of version 1 of the Avinya Foundation global data service.

Features

  • #9
  • #10
  • #27
  • Automated deployment to Choreo and Azure
  • Integration testing with complete pipeline (Client -> API -> Database)

GitHub actions for `main` branch commits

Create GitHub actions for main branch commits. Note that this does not include Choreo integration; that will be scoped separately.

Requirements:

  • #1
  • Push database container with latest label
  • Build ballerina documentation (matrix for each project)
  • Push ballerina documentation to gh-pages (subdirectory for each ballerina project)

Design the application and evaluation entity model

The design of the model was done generically in collaboration with @rukmal
The model includes the applications, evaluations, and education experience

The objective of the generic model was to reuse the same model for

  • admissions student applications
  • student applicant tests and interview evaluations
  • has provision for supporting intakes with vacancy and evaluation cycle
  • can be extended to support job applicants, their interview and evaluations
  • the same model can be used for employee evaluations [all of self, peer, mentor, and mentee are included here]
  • the same model can be used for student evaluations

The model has the provision for adding work experience in the future.

Generalized GraphQL API for Avinya Foundation data

This ticket covers the functionality of the generalized API for foundation data. To simplify development, a complete vertical slice (testing, integration, deployment, etc.) will be implemented with the Geo data tranche, followed by a sequential addition of tranches of the generalized data model.

  • #11
  • #19
  • #20
  • #21
  • WorkExperience tranche
  • EducationExperience tranche
  • Evaluation tranche

Fix locale in db

Currently, தமில் and සිංහල characters are garbled. Need to fix locale settings in initialization scripts.

This blocks #11.

GitHub actions for build and test

Create GitHub workflows to build and test the Ballerina project. Must be able to run locally with act, and on GitHub runners. Covers the complete set of workflows that will be run in a pull request.

  • Build ballerina project
  • db docker container
    • local build
    • push to registry
  • Run ballerina tests

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.