Welcome! πππΏππ½ππ»ππΎππΌ
PASS is an open source digital wallet for providing home-insecure individuals a safe place to store documents within their control. PASS additionally aims to assist caseworkers with processing and providing documents needed to complete the housing-assistance application process.
This document is intended to be a crash course to get you up and running. The PASS wiki is the place to go for detailed information of all things PASS including contribution guidelines, tech stack, information on SOLID, etc...
PASS is currently in development working towards MVP release by generous efforts from our contributors.
Note: All commands in this document are for bash. If you are using an incompatible shell like CMD or powershell, you may need to use different commands.
Clone the git repository:
git clone https://github.com/codeforpdx/PASS.git
cd PASS
If you already have node 18 installed on your system, you may skip this section.
Currently, we require Node version 18.19.x and NPM for our package manager. We recommend using Node Version Manager (NVM) to install Node and npm. To proceed using NVM, perform the following:
If you don't have node version 18, install node version 18 by running:
nvm install 18
This will download node 18 and set it up for use
Check that node and npm are set up:
node -v
npm -v
The node version should be 18.19 (and maybe third decimal) and the npm version should be 10.2 (and maybe a third decimal). If they are not these versions, or if either of those commands cause an error, node has not been installed correctly.
We include a .nvmrc
in the root folder of the project, which contains our target node version. We update this version periodically. If you're ever not sure of what node version you should be using, run
nvm use
to be synced with the project. You may receive warning messages in the terminal if the verion is not installed. Follow the messages to resolve the issues.
Install project dependencies:
npm install
Configure the project environment:
cp env.template .env
Run the following command:
npm start
To start up everything needed to run PASS.
Navigate to PASS and set up an account.
By default, PASS launches at http://localhost:5173 on your local machine. Navigate to that screen, then click the signup button to create a pod and web ID for yourself. Then return to the homepage and log in. Follow all prompts that appear, and you will be up and running with PASS!
We require all code contributed to the project to pass through our git hooks. To set them up, do the following:
Install the pre-commmit prettier and linter hooks.
npm run prepare
In Portland, housing-insecure individuals struggle to maintain documents often required to receive government and/or non-profit services. With PASS, we are building out an application to enable housing-insecure individuals to store their personal documents in decentralized data stores, called Pods. PASS will also provide a platform for organizations to assist with providing and processing documents required for housing assistance. Using Solid Data Pods individuals will have control over which organizations and applications can access their data. Verified organizations will be able to use PASS to request data from an individual and/or add documents (such as references or invoices) to an individual's Pod to help process housing assistance applications.