Skip to content

The good governance project (GGP) is a non-partisan democracy reform group.

License

Notifications You must be signed in to change notification settings

alexjball/maple

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Digital Testimony Platform

Live Site (version 1, previous project): https://goodgovproject.com/

In-Development Site (version 2, current project): https://digital-testimony-dev.web.app

Getting Started

  1. Fork a copy of the main repo to your GitHub account.

  2. Clone your fork:

git clone https://github.com/YOUR_GITHUB_NAME/advocacy-maps.git
  1. Add the main repo to your remotes:
cd advocacy-maps
git remote add upstream https://github.com/codeforboston/advocacy-maps.git
git fetch upstream

Now, whenever new code is merged you can pull in changes to your local repository:

git checkout master
git pull upstream master
  1. To contribute a feature, open a feature branch off master:
git checkout master
git checkout -b MY_FEATURE
git push -u origin MY_FEATURE

Use git push to upload your commits to your fork. When you're finished, open a pull request to merge your branch into codeforboston/master

Developing Locally

  1. Make sure that you have node and yarn installed. You can download Node directly here or use a tool like nvm. To install yarn, run npm i -g yarn after installing node.
  2. Install dependencies with yarn install
  3. Start the development server with yarn dev
  4. Open the app at https://localhost:3000 in your browser

Deployment

The site runs on Firebase and is deployed using Github Actions. The site is deployed automatically whenever we push to the master branch. Deployments should "just work" but if the site isn't updating, check the status of the deployment action.

Deployment Action

Firebase console

Development FAQ

How do I create a new page?

Take a look at the pages/browse.tsx page:

export default createPage({
  v2: true,
  title: "Browse",
  Page: () => {
    return (
      <>
        <h1>Browse</h1>
        ...
      </>
    )
  }
})

Your page content goes in Page, and will be wrapped in a layout component. Setting v2 to true will use the V2Layout, which will render the content inside a bootstrap Container. The page is rendered by _app.tsx.

About

The good governance project (GGP) is a non-partisan democracy reform group.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 89.3%
  • JavaScript 4.3%
  • CSS 3.2%
  • Python 1.2%
  • Jupyter Notebook 1.0%
  • Handlebars 0.8%
  • Other 0.2%