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.
The PASS wiki contains 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.
-
Currently, we require Node version 16.20.2 and NPM for our package manager. We recommend managing node and npm using Node Version Manager (NVM). To do so:
- Download NVM for your system.
- For Mac, Linux, and other POSIX users: https://github.com/nvm-sh/nvm
- For Windows users: https://github.com/coreybutler/nvm-windows
- Install node version 16.20.2:
nvm install 16.20.2
- Use that node version:
nvm use 16.20.2
- Check that node and npm are set up:
If either of those commands error, node has not been installed correctly.
node -v npm -v
- Clone the git repository:
git clone https://github.com/codeforpdx/PASS.git
- Install project dependencies:
npm install
- Install the pre-commmit prettier, linter, and test hooks.
npm run prepare
- Run the project:
npm run dev
- PASS should launch at
http://localhost:5173
. You can now visit that url, and sign into a Pod hosted at the OIDC provider of your choice.
- PASS is able to connect to any solid-spec compliant Pod server. However, for testing, it's recommended that you run a server locally. PASS provides tools to make this easy to do.
-
Clone and install dependencies. See previous section
-
In the project's root directory, copy the
env.template
file into a.env
file. In bash you can use this command:cp env.template .env
-
Run
npm run podserver
to launch the Pod server. The server will begin listening onhttp://localhost:3000
, and will create a folder in the PASS project folder calledlocal_temp_server_files
. You can find all server and Pod files there. -
Open a browser and navigate to
http://localhost:3000
. You should encounter a screen asking you to set up the server and create an account. Create your first account, and your server will be ready for development. -
Launch PASS with
npm run dev
. Click theLogin
button on the home page. If everything has been set up right, you should be redirected to your local Pod server to finish login.
Note: The npm run podserver
command will launch a server that stores documents on your local file system. If you don't want to store documents, and want all server data to be deleted on shutdown, you can run npm run podserver:temp
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.
- Start by checking out the detailed onboarding in the Wiki.
- Join our Discord and self-assign roles as you see fit.
- Request git-hub access on Discord in the github-access-request channel of the General category.