Skip to content

Commit 7ea5dc9

Browse files
authored
Merge pull request #173 from CodeForPhilly/pcabe-cleanup-library-api
Cleanup library api
2 parents 73b3964 + a88a26a commit 7ea5dc9

File tree

9 files changed

+8
-282
lines changed

9 files changed

+8
-282
lines changed

library-api/.idx/default-vscode-settings.jsonc

Lines changed: 0 additions & 73 deletions
This file was deleted.

library-api/.idx/dev.nix

Lines changed: 0 additions & 67 deletions
This file was deleted.

library-api/.idx/integrations.json

Lines changed: 0 additions & 7 deletions
This file was deleted.

library-api/.vscode/DMN Benefit Toolbox.code-profile

Lines changed: 0 additions & 1 deletion
This file was deleted.

library-api/.vscode/extensions.json

Lines changed: 0 additions & 14 deletions
This file was deleted.

library-api/.vscode/launch.json

Lines changed: 0 additions & 22 deletions
This file was deleted.

library-api/.vscode/settings.json

Lines changed: 0 additions & 16 deletions
This file was deleted.

library-api/.vscode/tasks.json

Lines changed: 0 additions & 23 deletions
This file was deleted.

library-api/README.md

Lines changed: 8 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,18 @@
1-
# DMN Library
1+
# Library API
22

3-
## Note: this directory was originally at the top level of the project and represented the entirety of the project. We've begun developing a web app for use as a development environment for screenings and their specific DMN rules. The future of this `dmn-library` directory is for it to morph into simply the place where "library" DMN is developed and tested. This means DMN that can be included/reused in a variety of screeners, not just particular to one screener. When we are able to fully deploy existing screeners using the new web app, then facilities for deploying screeners and the API from this library directory will be removed.
3+
## What is this?
44

5-
## Setup a Development Environment
5+
What is now called `library-api` is what used to be at the top-level of this project. It contains a Quarkus application that still serves the [Philly Property Tax Relief Screener](https://phillypropertytaxrelief.org), the example [PACE Screener](https://phillypropertytaxrelief.org/pace), and the [Eligibility API](https://phillypropertytaxrelief.org/q/swagger-ui) that backs both of these screeners. The API is generated from the DMN models in `src/main/resources/`.
66

7-
Since the ultimate goal of this project is to enable a development environment that is accessible to those without a software engineering background, we are intrigued by tools like [Firebase Studio](https://firebase.google.com/docs/studio) as a precursor/mockup for a more specialized service that we'd like to build (eventually).
7+
## What do we want this to be?
88

9-
With Firebase Studio, the environment is in the cloud, and can be accessed from any computer without any manual setup.
9+
We're not exactly sure, but we see the DMN models here as the proof-of-concept for a "library" of benefits and eligibility rules. We are in the process of creating a tool that will streamline the creation of screeners (the prototype of which you'll find in the `builder-frontend/` and `builder-api` modules of this project) and we imagine know that we'll want users of the builder to have access to some sort of rules library.
1010

11-
If you're an experienced engineer, however, you may want to skip Firebase Studio in favor of your own preferred setup. (Up to you.)
11+
So `library-api` will evolve as we figure out the new builder tools. And we'll likely remove the screener code here as the builder is able to replace it.
1212

13-
### Use Firebase Studio (simplest)
13+
## Kicking the tires
1414

15-
The easiest way to get a feel for Benefit Decision Toolkit is to [fork this repo*](https://github.com/CodeForPhilly/benefit-decision-toolkit/fork) and then open it (from the fork!) in Firebase Studio:
16-
17-
<a href="https://studio.firebase.google.com/import?url=https%3A%2F%2Fgithub.com%2FCodeForPhilly%2Fbenefit-decision-toolkit">
18-
<picture>
19-
<source
20-
media="(prefers-color-scheme: dark)"
21-
srcset="https://cdn.firebasestudio.dev/btn/open_dark_32.svg">
22-
<source
23-
media="(prefers-color-scheme: light)"
24-
srcset="https://cdn.firebasestudio.dev/btn/open_light_32.svg">
25-
<img
26-
height="32"
27-
alt="Open in Firebase Studio"
28-
src="https://cdn.firebasestudio.dev/btn/open_blue_32.svg">
29-
</picture>
30-
</a>
31-
32-
When you open Benefit Decision Toolkit in Firebase Studio, a development machine will be created and configured for you in the cloud. (This will take a few minutes.)
33-
34-
After the first time you open the project, you can just return to https://studio.firebase.google.com to pick up where you left off.
35-
36-
_*Note on forking: you can skip this step if you are just curious or otherwise don't intend to contribute changes back to the project._
37-
38-
### Use Devbox (medium simple)
39-
40-
The second easiest way to get started is to [fork this repo*](https://github.com/CodeForPhilly/benefit-decision-toolkit/fork), clone it to your local machine, and use the included Devbox configuration:
41-
42-
[![Built with Devbox](https://www.jetify.com/img/devbox/shield_galaxy.svg)](https://www.jetify.com/devbox/docs/contributor-quickstart/)
43-
44-
[Devbox](https://www.jetify.com/devbox) is a way to create isolated development environments on your own machine.
45-
46-
We're experimenting w/ Devbox for the same reason we're experimenting w/ Firebase Studio; we're interested in how this approach to managing development environments could form the basis of some future specialized/packaged toolkit.
47-
48-
### Roll your own (for experienced developers)
49-
50-
Of course, you can also manually setup a laptop/desktop to work on Benefit Decision Toolkit, but it isn't recommended unless you really know what you're doing.
51-
52-
### Additional setup notes
53-
54-
#### Forms development
55-
56-
If you're planning to develop forms (the basis of eligibility screeners) in addition to eligibility rules, then you'll also need to download [Camunda Modeler](https://camunda.com/download/modeler/).
57-
58-
#### Kicking the tires and testing your work
59-
60-
You can run `bin/dev`* from a terminal to start the Quarkus development server. This will serve the API and any existing eligibility screeners from `https://localhost:8080`**.
61-
62-
*_If you are using Firebase Studio the Quarkus dev server should automatically start when you load the workspace._
63-
64-
**_Since Firebase Studio is a browser-based environment, the system will map the URL for the dev server to an address you can reach from a browser in your local machine. You can access this address by clicking on the Firebase Studio logo in the left sidebar, then clicking into the "Backend Ports" panel._
65-
66-
<img src="docs/images/backend-ports.png" width=600 alt="Screenshot of Backend Ports list in Firebase Studio">
15+
If you want to play with the example screeners and/or API yourself, you can follow the Development Setup instructions in the root README, then run `bin/dev` from this directory to start the Quarkus development server. This will serve the API and any existing eligibility screeners from `https://localhost:8083` by default.
6716

6817
## Technologies overview
6918

0 commit comments

Comments
 (0)