Duration: 2 Week Sprint
Rock climbing routes come in a wide variety of difficulty, quality, and style, both outdoors and in climbing gyms. Climbers outdoors have well-known resources available to them to gain information about these route specifics. Indoor climbers have fewer well-known options The Send-Friend app is intended to give indoor climbers a way to view and keep track of inddor climbing routes and their relative information. Major features of the app will include a user’s ability to view route details and leave three types of feedback on a given route: perceived grade accuracy, rank overall quality, and optional additional comments. After submission, users will also be able to review their feedback and edit or remove it. Future features will include a climber's personal logbook.
The current state of the climb list view (for mobile):
And a peek at the Climb Details page:
If you want to add a new climb:
Adding a photo for a new climb:
You can log a clim to your own logbook:
Software that is required to install the app:
To spin up the code for this project:
- Create a database named
tagtender_project
, - The queries in the
database.sql
file are set up to create all the necessary tables and populate the needed data to allow the application to run correctly. The project is built on Postgres, so you will need to make sure to have that installed. We recommend using Postico to run those queries as that was used to create the queries, - Create an IAM user and a bucket on Amazon S3 for storing photos
- Create a
.env
file at the root of the project and paste this line into the file:
SERVER_SESSION_SECRET=superDuperSecret
- While you're in your new
.env
file, take the time to replacesuperDuperSecret
with some long random string like25POUbVtx6RKVNWszd9ERB9Bb6
to keep your application secure. Here's a site that can help you: https://passwordsgenerator.net/. If you don't do this step, create a secret with less than eight characters, or leave it assuperDuperSecret
, you will get a warning. - Replace
sample
in each of the following 4 lines with the appropriate values from your S3 account, and include in you.env
file:
AWS_ACCESS_KEY_ID=sample
AWS_SECRET_ACCESS_KEY=sample
AWS_REGION=sample
S3_BUCKET=sample
- Make sure your
.env
is in your.gitignore
! - Open up your editor of choice and run an
npm install
- Run
npm run server
in your terminal - Run
npm run client
in your terminal - The
npm run client
command will open up a new browser tab for you!
As a User:
- Create a new user on the register page, or login an existing user
- Select the climbing gym and type of climbing you would like to view
- Scroll through list of climbs, click or tap on one for more details
- Click button to make edits if information is incorrect
- Use 'Back' or "Cancel' button on any page to go back to climb list page
- Click delete if climb no longer exists
- Back on list of climbs, click add new climb if there is a climb you want to add
- Fill in the basic info, then click add photo
- Select a photo from your device for the climb, and save it
- Home button on the nav bar shows your profile information
- Logout button on the nav bar logs you out of the application.
- JavaScript
- React
- Redux
- AWS S3/aws-sdk
- Material-UI
- Express
- Postgres
- Node.js
- HTML/css
Thanks to Prime Digital Academy who equipped and helped me to make this application a reality. Thanks to the Proth cohort
If you have suggestions or issues, please email me at youremail@whatever.com