OpenBeta v0.9
Open source. Rock climbing. Catalog.
We're building a free and open source rock climbing catalog.
The project is currently in MVP stage.
We'd love to hear your feedback. Chat with the dev team on Discord.
## Screenshot
### Climb page
### Personal performance history
## Tech stack
1. Backend GraphQL API ([openbeta-graphql](https://github.com/OpenBeta/openbeta-graphql)): Apollo GraphQL, MongoDB, Node.js.
2. Frontend (this repo): React.js, Next.js, TailwindCSS.
### High level architecture
![Architecture overview](./ob-arch-v0.9.png)
## Live instances
| Env | Link | Branch | Content | Build |
|---------|-------------------------------|---------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Prod | https://openbeta.io | develop | Complete DB |
|
| Staging | https://stg.openbeta.io | develop | Partial | |
## How to build
Make sure you have the following tools installed on your computer:
- [Git](https://github.com/git-guides/install-git)
- [Node](https://nodejs.org)
- [npm](https://www.npmjs.com/get-npm)
- [yarn](https://classic.yarnpkg.com/en/docs/install)
Important: For frontend development work you **don't** need to set up the [GraphQL API server](https://github.com/OpenBeta/openbeta-graphql) server project (unless you intend to work on both).
1. Download the repo to your local machine
```
git clone git@github.com:OpenBeta/open-tacos.git
```
2. Build the code
```
cd open-tacos
git checkout develop
yarn install
```
4. Run the app
```
yarn dev
```
The application is now available at http://localhost:3000
## Tips
### API key errors
Some parts of the code such as user profiles, page edit and photo upload require additional API keys. Without them you'll see a bunch of errors in the log. If you want to work on those tasks, email viet at openbeta.io for API keys. See https://github.com/OpenBeta/open-tacos/issues/389 for more info.
### Full stack dev
By default, your local dev environment connects to our staging GraphQL API server. To connect your environment to the Graph API server running locally:
```
yarn dev-local
```
### Typescript version warning
You might get build errors or be prompted to downgrade your version of TypeScript. This is due to the linter ```ts-standard``` using an older version of TypeScript. You can ignore the warning message.
### Commit your work-in-progress
To commit without passing pre-build tests because you're doing a simple/unrelated change or simply wish to save your work-in-progres, run commit with the `--no-verify` flag. Example:
```
git commit --no-verify -am "saving my work before going climbing"
```
### Linting errors
You might get linting errors when run ```yarn lint```. To fix this, if you use VS Code, please make sure you have ```StandardJS``` extension installed and enabled.
## How to contribute
See our general [How to contribute guide](https://docs.openbeta.io/how-to-contribute/overview) for more details.
## Support Us
- Give this repo a star
- Please consider [making a donation today](https://opencollective.com/openbeta) to help us pay for our infrastructure expenses ($150/month).
## Contributors
Thanks goes to these wonderful people:
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome.
## License
AGPL