"Send It!" is a project designed for climbers to create and manage their personalized climbing passports. Similar to the functionality of popular platforms like AllTrails and MountainProject, this application empowers users to explore a map, discover climbing areas of interest, and add them to their climbing badge collection. Each badge represents a climb attempted or completed, forming a unique climbing passport for the user.
Built using React for the frontend and Python for the backend, "Send It!" seamlessly combines an intuitive user interface with powerful functionality. Climbers can not only add new badges but also edit or delete existing ones, providing a dynamic and customizable experience. Whether tracking conquered summits or planning future adventures, "Send It!" is the ideal companion for climbers passionate about documenting and sharing their climbing journey.
Created and built by Eileen Burdekin and Meaghan Sharrard.
Contains the following components:
- App.js
- Badge
- Header
- Login.js
- Map.js
- Mountain.js
- NavBar.js
- SignUp.js
Contains the following pages:
- About
- ClimbingPassport.js
- Explore.js
- Home.js
Contains three models: Climber, Mountain, and Badge. A Climber has many Mountain(s) through Badge(s), a Mountain has many Climber(s) through Badge(s), and a Badge belongs to a Climber and belongs to a Mountain. All of a climber's badges are contained on the frontend as a collection in the My Climbing Passport tab.
To begin this program, you'll use the following commands:
- pipenv install && pipenv shell
- cd server
- flask db init
- flask db migrate -m "implement relationships"
- flask db upgrade head
- python seed.py
- python app.py
Open up an additional terminal and use the following commands:
- cd client
- npm start
Prompts a user to log into an existing account or create a new one. The user can navigate to the various tabs if not logged in, but will not see any information on the "My Climbing Passport" tab. Once logged in, the home page will welcome the user and they can navigate to the various tabs as needed.
Explains the functionalities of the website.
The user can add a new badge to their climbing passport and explore various climbs using the map and crag area list. Once the plus sign next to the specific climb is clicked, a modal will populate and they will be prompted to add the date and whether the status of the climb. Once this new climb has been added, it will be saved under the "My Climbing Passport" tab and persist the climber_id and mountain_id data.
This page contains a collection of all the user's badges. A badge can be edited or deleted on this page. If the edit button is selected, a modal will populate and the user can edit the date and status of the climb. Once this information is saved, it will automatically update on the page.
If the delete button is clicked, the user will be prompted to confirm this deletion and then the badge will automatically be removed from the page.
Takes the user back to the personalized homepage.
Logs the user out.