Open Collective's Frontend. A React app powered by Next.js.
If you see a step below that could be improved (or is outdated), please update the instructions. We rarely go through this process ourselves, so your fresh pair of eyes and your recent experience with it, makes you the best candidate to improve them for other users. Thank you!
nvm install && nvm use
.We recommend cloning the repository in a folder dedicated to opencollective
projects.
git clone [email protected]:opencollective/opencollective-frontend.git opencollective/frontend
cd opencollective/frontend
npm install
This project requires an access to the Open Collective API.
By default, it will try to connect to the Open Collective staging API, you don't have to change anything.
In case you want to connect to the Open Collective API running locally:
.env
file:API_URL=http://localhost:3060
API_KEY=dvl-1510egmf4a23d80342403fb599qd
npm run dev
To run the tests:
npm test
To update:
npm run test:update
npm run langs:update
npm run graphql:update
We use Storybook to develop and document our React components in isolation with styled-components and styled-system.
More info: docs/styleguide.md
Translating the interface doesn't require any technical skill, you can go on https://crowdin.com/project/opencollective and start translating right away!
We're currently looking for contributions for the following languages:
Want to add a new language for Open Collective? Contact us, we'll be happy to help you to set it up!
Code style? Commit convention? Please check our Contributing guidelines.
TL;DR: we use Prettier and ESLint, we do like great commit messages and clean Git history.
This repo is part of the Open Collective bounty program. Get paid to contribute to Open Source! The Open Collective engineering team is small and we're always looking for new contributors to our Open Source codebases. Our Bounty program is an opportunity to solve issues that could be neglected otherwise. Contributors who fix these issues will be rewarded financially. Please see our docs for more information: https://docs.opencollective.com/help/contributing/development/bounties
This project is currently deployed to staging and production with Heroku. To deploy, you need to be a core member of the Open Collective team.
More info: docs/deployment.md
To publish a frontend components update to NPM, you need to be a core member of the Open Collective team. Steps:
npm view @opencollective/frontend-components version
npm run publish-components {NEW_VERSION}
, where {NEW_VERSION}
is the new version number (please follow semver).To add new files or dependencies to this exported package, have a look at scripts/publish-components/config.ts.
If you have any questions, ping us on Slack (https://slack.opencollective.com) or on Twitter (@opencollect).
Thanks to Lost Pixel for providing the visual testing platform that helps us review UI changes and catch visual regressions.