OpenBeta / open-tacos

Rock climbing route catalog (openbeta.io)
https://openbeta.io
GNU Affero General Public License v3.0
132 stars 116 forks source link
climbing cms graphql hacktoberfest javascript nextjs react reactjs rock-climbing tailwindcss

OpenBeta logo

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.

Develop branch   License

## Screenshot ### Climb page OpenBeta screenshot ### Personal performance history OpenBeta screenshot ## 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 | Develop branch | | 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 ### 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](https://docs.docker.com/get-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](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:
Viet Nguyen
Viet Nguyen

💻
Greg Hughes
Greg Hughes

💻
on3iropolos
on3iropolos

🤔 💵
Kevin Nadro
Kevin Nadro

💻
rytheranderson
rytheranderson

💻 🖋
Yannick Gingras
Yannick Gingras

🤔 🖋
Kendra Gibbons
Kendra Gibbons

💻
Gal Weinstock
Gal Weinstock

💻
Clinton Lunn
Clinton Lunn

💻 🤔
MichaelDimmitt
MichaelDimmitt

💻 🤔
Nate Hearnsberger
Nate Hearnsberger

💻 🤔
tittaenalg
tittaenalg

💻
Colin Gale
Colin Gale

💻 🤔
Kurk Villanueva
Kurk Villanueva

💻
umaxyon
umaxyon

💻
Jacob Struzik
Jacob Struzik

💻
Kevin
Kevin

💻
Osaf
Osaf

💻
xavier-kong
xavier-kong

💻
Brendan Downing
Brendan Downing

💻
admanny
admanny

💻
alex
alex

💻 🤔
Denis Lantsman
Denis Lantsman

💻
BeaulieuC
BeaulieuC

🎨 🤔
Daniel
Daniel

🤔
Prajwal
Prajwal

💻
Jetse Verschuren
Jetse Verschuren

💻 🤔
Siman Shrestha
Siman Shrestha

💻
Marcos A Rosas
Marcos A Rosas

💻
Kellen Busby
Kellen Busby

💻 🤔
Leonardo Montini
Leonardo Montini

💻
Matthew D'Souza
Matthew D'Souza

💻
Ilya Shaplyko
Ilya Shaplyko

💻
Chris Morin
Chris Morin

💻
Kittipong
Kittipong

💻
Evan Noronha
Evan Noronha

🐛
ted
ted

💻 🤔
Parth Parolekar
Parth Parolekar

💻
Junaid
Junaid

💻
KunalVerma2468
KunalVerma2468

💻
Scott Hoecker
Scott Hoecker

💻
vcbenj
vcbenj

💻
Ramez Salman
Ramez Salman

💻
Zac Holland
Zac Holland

🤔 💻
daniel-n-kaye
daniel-n-kaye

🤔
zkao
zkao

💻 🤔
Nathan Musoke
Nathan Musoke

🤔 💻
Uri Berman
Uri Berman

💻
Yun Ji
Yun Ji

🤔
Dane Shea
Dane Shea

💻 🤔 💵
Colb131
Colb131

🐛
Shubham Jadhav
Shubham Jadhav

💻
Joe Oliver
Joe Oliver

💻 🤔
Thomas Johnson
Thomas Johnson

💻
Giri Madhan
Giri Madhan

💻
Josh Zimmerman
Josh Zimmerman

💻
DavidW
DavidW

📆 🤔
Ali Haider
Ali Haider

💻
Shyam Tawli
Shyam Tawli

💻
SidV2
SidV2

💻
Bader Kanawati
Bader Kanawati

💻
draykhlin
draykhlin

📖
Sam Sikora
Sam Sikora

💻
Andrew Pritchett
Andrew Pritchett

💻 🤔
MiloudB
MiloudB

💻
Sarthak Kumar Shailendra
Sarthak Kumar Shailendra

💻
Syed Irfan Faraz
Syed Irfan Faraz

💻
Iacami Gevaerd
Iacami Gevaerd

🐛
Calvin Cheng
Calvin Cheng

🐛
robbyriley15
robbyriley15

💻 📖
Ali Muhammad
Ali Muhammad

💻
Henry Aviles
Henry Aviles

💻
ShravaniRoy
ShravaniRoy

💻
Isaac Alonso
Isaac Alonso

💻 🤔
Blake McCord
Blake McCord

💻 🤔
Heliodor Jalba
Heliodor Jalba

🤔 🐛
Ahamed Athhar
Ahamed Athhar

💻 🤔
Melissa Thai
Melissa Thai

💻
Dom Klip
Dom Klip

💻 🤔
Manuel Salgado
Manuel Salgado

💻
Sergey Korepanov
Sergey Korepanov

💻
Aimee Kang
Aimee Kang

💻
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome. ## License AGPL