open-tacos
open-tacos copied to clipboard
Rock climbing route catalog (openbeta.io)
OpenBeta v0.9
Open source. Rock climbing. Catalog.
We're building a free and open source rock climbing catalog.
Take me to the site 🚀
The project is currently in MVP stage.
We'd love to hear your feedback. Chat with the dev team on Discord.
Screenshot
Climb page
![OpenBeta screenshot](https://github.com/OpenBeta/open-tacos/raw/develop/openbeta-v0.7-screenshot.png)
Personal performance history
![OpenBeta screenshot](https://github.com/OpenBeta/open-tacos/raw/develop/climb-history-chart.png)
Tech stack
-
Backend GraphQL API (openbeta-graphql): Apollo GraphQL, MongoDB, Node.js.
-
Frontend (this repo): React.js, Next.js, TailwindCSS.
High level architecture
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:
Important: For frontend development work you don't need to set up the GraphQL API server server project (unless you intend to work on both).
- Download the repo to your local machine
git clone [email protected]:OpenBeta/open-tacos.git
- Build the code
cd open-tacos
git checkout develop
yarn install
- Run the app
yarn dev
The application is now available at http://localhost:3000
Alternate build method using Docker
If you just want to run the app locally without installing node, npm, etc., you can do so with Docker.
Requirements: Docker
docker compose up
The application is now available at http://localhost:3000. The project will rebuild automatically when you make changes to files in ./src
dir.
Note: If you install new NPM packages, you will need to rebuild the docker image with
docker compose up --build
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 for more details.
Support Us
- Give this repo a star
- Please consider making a donation today to help us pay for our infrastructure expenses ($150/month).
Contributors
Thanks goes to these wonderful people:
This project follows the all-contributors specification. Contributions of any kind welcome.
License
AGPL