Coder Social home page Coder Social logo

suffolklitlab / courtformsonline.org Goto Github PK

View Code? Open in Web Editor NEW
2.0 3.0 0.0 217.06 MB

Code for courtformsonline.org index of guided interviews. This replaces the "massaccess" repo

Home Page: https://courtformsonline.org

License: MIT License

JavaScript 4.28% TypeScript 86.89% CSS 8.82%
access-to-justice docassemble forms massachusetts websites guided-interviews

courtformsonline.org's Introduction

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

This project uses next/font to automatically optimize and load Inter, a custom Google Font.

Form Sources Config

The formSources.config.js file allows new paths and server sources to be added to courtformsonline. There are two main components to this config file:

  • pathToServerConfig: Maps paths to servers, which facilitates adding new paths or modifying existing connections to different servers.
  • formSources: Contains the details of the servers, including URLs and names, used by the application.

Form source example

{ key: 'newServerKey', url: 'https://newserver.example.com', name: 'New Server Name', },

Path to server config example

yourPath: { path: 'yourPath', servers: ['New Server Name', 'Existing Server Name'], },

courtformsonline.org's People

Contributors

jtmst avatar nonprofittechy avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

courtformsonline.org's Issues

Finish identifying the metadata we want to capture from an interview

Steps:

  1. Copy in the skeleton metadata block from below
  2. Find the appropriate taxonomy code from taxonomy.legal
  3. Add an appropriate description, etc. Use your best guesses, do some Google searches to fill this in. You can start with the current description that is live on courtformsonline.org
  4. Commit, open a PR, merge to main
  5. Bump the version number in setup.py and __init__.py
  6. Install the new version on apps.suffolklitlab.org

See also:

SuffolkLITLab/docassemble-AssemblyLine#534

Come up with a consistent layout for the landing page for each interview

This doesn't have to be creative. Here are a few examples:

I like the balance set by ILAO personally.

I've added the metadata that the ILAO interview shows on the landing page here: SuffolkLITLab/docassemble-MA209AProtectiveOrder#104

Migrate from LIST to SALI tags

Currently the interview metadata template calls for LIST tags for the interview topic, and SALI/LMSS tags for jurisdiction. But it sounds like LIST may be an abandoned project.

SALI is more widely used today, contains a larger set of tags than LIST, has mapped LIST tags to their SALI equivalents, and is being actively maintained. Seems worth migrating at some point.

Note that Spot, which provides the "search" function on CourtFormsOnline also relies on LIST, so it may make sense to update both at the same time.

Should this repo be renamed to avoid URL issues with GitHub Pages (edit: and Google)?

I realize @jtmst is actively developing this repo, but this is probably related to the launch checklist. Currently this repo is publishing to GitHub Pages as suffolklitlab.org/courtformsonline.org. That's a goofy URL, but it's obviously not where the website will live.

If GitHub Pages is a necessary part of deployment, we might want to rename the repo because we are going to switch to using subdomains, and I don't think courtformsonline.org.suffolklitlab.org is a valid URL. If GitHub Pages is not necessary, it should probably be disabled.

Also pinging @nonprofittechy and @KindBill.

Concept for topic cards

  1. Show the most popular topics and a "view all categories" button. 7+- 2 is the most we can show at the top level. (Note: in topics.config.ts, there's currently a priority field for this. higher priority = show it earlier in the list)
  2. Consider showing a preview of the sub-topics within a top-level topic, with a "show more" button if there are more than 4 sub-topics.
  3. Allow some room to change the most popular topics by language
  4. Only show a top-level category if there's a form in that category.

Add some language: "don't see a form you wanted? let us know!"
Push people to the search interface / SPOT to try again to type their problem out.

On the category pages, we should show a "don't see the form you wanted? try searching"

Some kinds of forms, like "Divorce" aren't going to be pre-bundled. But we don't want to show 4 sub-items for divorce on the front card. Maybe use LIST taxonomy -- if there are multiple child items, take to a page. if there's only one matching child item

Come up with a place to store a manually curated list of interviews and side-load it with real data

We want to get interview data from the /list endpoints on various Docassemble servers. But that will require editing each interview and adding the metadata.

It's probably helpful to come up with a shortcut before we get to that stage, since editing the metadata should probably also go along with testing each repo. That will take a fair amount of time to do. Maybe clinic students will be able to help.

See: https://github.com/SuffolkLITLab/massaccess/ and the Google Sheet that is pointed to in that repository as the source. We might want to write a quick script to get the data from Google Sheets and generate a JSON that looks like the output of /list (at least the keys we care about)

Navigate categories based on LIST

User Story

As a user, I would like to navigate the 20 top level categories (+Other) based on LIST (from the processed CSV) and not see empty categories that have no interviews.


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.