Skip to content
This repository has been archived by the owner on Jan 26, 2022. It is now read-only.

A full-stack web-app to help find trails and achieve hiking goals. This project was built over two sprints as a first large-scale project using Python, Flask, React and other technologies.

Notifications You must be signed in to change notification settings

katerina-kossler/hiking-habit

Repository files navigation

Hiking Habit

Hiking Habit is a personal project built over the course of two months to gain experience designing, building and deploying full-stack web-application.
This project was inspired by my love of hiking and was built to help me track my progress as a novice hiker.
Hiking-habit was not built was the intention of building usual users or for comercial gain.
Check out the web-app at hiking-habit.com (deployed using AWS Lightsail)

Contents

Features

General

  • user registration, log-in, and basic profile
  • reactive display & design

Trails

  • trail search based on zipcode and other optional criteria
  • trail results display in a compact format with border coloring by difficulty

Hikes

  • hike creation from trail search
  • hike completion & cancelation
  • hike result generation for completed hikes

Goals

  • goal creation & cancelation
  • view progress (via completed hikes) towards different goals

The Stack

Backend Python, Flask, SQLAlchemy, PostgreSQL, pgeocode
Frontend Javascript, jQuery, React, React Router, Babel, Chart.js, Bootstrap, Alertify.js, Popper.js, Google Fonts, HTML5, CSS3
APIs: REI's The Hiking Project

Set-up & Installation

A step-by-step guide

Install a code editor like VS code.
Install postgreSQL for the relational database.
Install python3
Install the package installer for Python pip
Clone or fork repository:

$ git clone https://github.com/katerina-kossler/hiking-habit.git

Create and activate a virtual environment inside the 'hiking-habit' directory:

$ virtualenv env
$ source env/bin/activate

Install dependencies:

$ pip install -r requirements.txt

Make an account with The Hiking Project & get an API key from the API Page.
Store this key in a file named 'secrets.sh'; do NOT check this file in using Git:

$ code secrets.sh
$ source secrets.sh

Create the hiking-habit database (uses postgreSQL):

$ createdb hiking-habit

Create all tables and relations in the database (stored in model.py):

$ python3 -i model.py
>>> db.create_all()
>>> quit()

Run the app from the command line:

$ python server.py

In the next iteration of this project, I want to on features including:

  • move the goal progress display to a progress dashboard
  • integrate a map display using the Google Maps Api to show markers for trail locations
  • futher streamline the styling and design of the app
  • include more information from the hike result in goal progress

About

A full-stack web-app to help find trails and achieve hiking goals. This project was built over two sprints as a first large-scale project using Python, Flask, React and other technologies.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published