Skip to content

Commit

Permalink
Overview doc for new contributors (#359)
Browse files Browse the repository at this point in the history
Merging with just a few edits. I removed names of folks who haven't confirmed yet, except @erikjasso , I'm drafting you anyway :)
  • Loading branch information
wittejm authored Sep 8, 2019
1 parent 8a3374d commit 58e5150
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 6 deletions.
13 changes: 7 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
# recordexpungPDX
A project to automate expunging qualifying criminal records. This project is done in conjunction with the Multnomah County Public Defender's Office. [Learn more in the wiki](https://github.com/codeforpdx/recordexpungPDX/wiki).

This README is covers project installation and getting started as a contributor. If you're interested in contributing, considering joining us at one of our meetup events: https://www.meetup.com/Code-for-PDX/
This README is covers project installation and getting started as a contributor. If you're interested in contributing, considering joining us at one of our meetup events: https://www.meetup.com/Code-for-PDX/. Also here's a short description of how you could help: [doc/contributing.md](https://github.com/codeforpdx/recordexpungPDX/blob/master/doc/contributing.md)


More documentation:
- Project technical design documentation: [doc/design.md](https://github.com/codeforpdx/recordexpungPDX/blob/master/doc/design.md)
Expand All @@ -20,7 +21,7 @@ More documentation:

## Tech Overview

This is a web app built using [React](https://reactjs.org/) for the in-browser interface, and a backend web service implemented with the [Flask](https://palletsprojects.com/p/flask/) web framework in Python. The backend app connects to a [Postgres database](https://www.postgresql.org/).
This is a web app built using [React](https://reactjs.org/) for the in-browser interface, and a backend web service implemented with the [Flask](https://palletsprojects.com/p/flask/) web framework in Python. The backend app connects to a [Postgres database](https://www.postgresql.org/).

The app is deployed on the free(mium) webapp hosting service, [Heroku](https://www.heroku.com/).

Expand All @@ -30,7 +31,7 @@ Our latest dev version (this repo's master branch) is publicly viewable! Here: h

## Installation

To get your dev environment set up for running the app locally and becoming a contributor, you'll rely on all the afore-mentioned technologies. If you have any trouble, don't hesitate to ask on our [Slack channel](https://codeforpdx.slack.com/#record_expung)! If you don't have access to the slack channel yet, please ask our CodeForPDX brigade leader, Hugh: [email protected]
To get your dev environment set up for running the app locally and becoming a contributor, you'll rely on all the afore-mentioned technologies. If you have any trouble, don't hesitate to ask on our [Slack channel](https://codeforpdx.slack.com/#record_expung)! If you don't have access to the slack channel yet, please ask our CodeForPDX brigade leader, Hugh: [email protected]


1. **[Fork](https://help.github.com/articles/fork-a-repo/#fork-an-example-repository)**,
Expand Down Expand Up @@ -63,9 +64,9 @@ To get your dev environment set up for running the app locally and becoming a co
[here](https://github.com/codeforpdx/recordexpungPDX/wiki/Installing-python3.7-on-ubuntu-16.04).

* **Windows**

Developing this project on Windows is no longer supported in our documentation. The current approach some individual devs are using is to run linux in a VM. Anyone who wants to wrangle Windows is totally free to jump off the deep end! And then report back with supporting documentation :)

3. Install Pipenv

Install the [pipenv](https://pipenv.readthedocs.io/en/latest/install)
Expand Down Expand Up @@ -104,7 +105,7 @@ To get your dev environment set up for running the app locally and becoming a co
```
$ make install
```
This will read `Pipfile` and install listed Python packages into a `Pipenv`
virtualenv.
Expand Down
13 changes: 13 additions & 0 deletions doc/contributing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
If you're wondering where to get started, the answer may best depend on what skills you want to use and/or develop:

If you're interested in frontend development, there are several core app components that are still missing or in progress. We're using React for page rendering and Redux and Typescript to manage the multi-page app. Many of us are quite new to these tools and we're learning as we go! Talk to Max or Forrest.

Python is used for the backend, and can be broken down further: if you're interested in working on implementing logic and object-oriented programming, check out the Expunger. It's also the core of the app that deals with the individual criminal records and checks eligibilty rules. It has been mostly completed according to the client specification, but there are a few bugs and additional features still on the todo list. Ask Nick, he built the thing and he posts a lot of tasks on the issues board!

Python is also used to expose our backend API, and to connect to the database. This is mostly for basic user account management, like changing user account settings or password. We don't save any collected or analyzed record data, but we plan to store some really basic usage statistics to report on the impact of our app. Ask Erik or Jordan.

Software architecture: we can use help here too. There are some features only partially documented and need to be reconciled with the existing code, or that haven't been fully designed.

Tech documentation: A lot of us dive in to just work on, and learn, one part of the app. Documentation would be great not just for new contributors, but to help us with the full stack integration too! We could use docstrings on the various components of our app, both frontend and backend. And, if you're a bit lost looking at our project, consider the folks who might want to join and help next month :)

Cloud and deployment: everyone hates it except for hiring managers. We haven't finished our deployment pipeline. We use Heroku for webapp hosting and Nginx for server configuration. Ask Nick or Jordan if you want to be able to say "cloud technologies" in a job interview.

0 comments on commit 58e5150

Please sign in to comment.