- If you'd like to be actively involved with the team, you can contact us to join the Basecamp, and we'll get you set up to join calls, chat with us about the vision, ideas, and design, and get access to more documentation and ways to collaborate.
- Anyone outside the team is welcome to collaborate with us through issues and pull requests.
The Dual Power App is a Next.js app built on Vercel for the API and Fauna & GraphQL for the database. Our usage of Fauna is experimental and will possibly change as we build out more of the application. The app is written in TypeScript.
You can follow along with our open design process.
- CSS: You should write very little CSS yourself. Use the pre-baked components in the components directory. For page layouts and tweaks, use Windi. If you find yourself styling a component, consider whether that is a reusable treatement that should instead be a prop on the component itself.
- Interacting with APIs: Isomorphic Unfetch (it's like axios, but waaay smaller)
- Interacting with the database: Read
/db/queries/README.md
for examples
- Make sure to read BSA's strategy if you're not 100% on what a Dual Power Project is
- See what's up in the projects and issues
- Set up commit signing
- So everyone can more easily read your work, please follow the Conventional Commits standard for your commit messages
- When working on an issue, reference it in your commit message
This commit, in which I add this section of this document, might look like:
docs(contrib): #17 add conventional commits
If I was doing this from a fork, I would instead say:
docs(contrib): BSA-US/dual-power-app#17 add conventional commits
- Test your work
- Bring your work up to date by rebasing it onto this repo's
main
branch (see below) - Test your work again
- Create a pull request
- Summarize your changes and mention any relevant issues
- Submit your PR
New to rebasing? It can be daunting the first time, but we'll get through this together.
For an explanation of what rebasing means in git, check out this guide
- If you're working from a fork of the repository, you will want to add the main BSA repository as a git remote, usually called
upstream
:git remote add upstream https://github.com/BSA-US/dual-power-app.git git fetch upstream
- Rebase your local branch onto
upstream/main
git checkout my-branch git rebase upstream/main
- Resolve the merge conflicts, choosing to keep your changes wherever you made them, and for all other conflicts choosing what is on
upstream/main
- When finished, force-push your newly in-sync branch:
git push -f origin my-branch
- Create a pull request across forks, making note of your changes
- When collaborating directly on this repository instead of a fork, you do not need a separate remote:
git checkout my-branch git rebase main
- Resolve the merge conflicts, choosing to keep your changes wherever you made them, and for all other conflicts choosing what is on
main
- When finished, force-push your newly in-sync branch:
git push -f origin my-branch
- Create a pull request, making note of your changes
Great question. Whatever you want!
We have our own internally decided priorities which you can see:
Are we missing something essential? Create an issue, assign it to yourself, and get going!!