Skip to content

ErikaAzabache/One-City-at-a-Time

Repository files navigation

One City at a Time

One City at a Time is an app meant for users that love traveling. The app shows main points of interest in popular cities around the world. Registered users can save their preferred spots for future trips, mark places they have already been and leave comments/reviews in the place's page.

Table of Contents

Tech Stack

Frontend: HTML5, Jinja, Javascript (AJAX, JSON), jQuery, Bootstrap
Backend: Python, Flask, PostgreSQL, SQLAlchemy
APIs: Foursquare, Google maps, Imgur, Bing Image Search

Features

Create an account and activate it.



Logged in or not, search points of interest in a city. Sort results by popularity (most and least popular) or name. If logged in, user can save or "been here" a place.



User profile is editable.



User (logged in ot not) can check more information about a place. Logged in user can also leave comments.



Setup/Installation

Requirements:

  • PostgreSQL
  • Python 2.7
  • Foursquare, Google maps, Imgur, and Bing Image Search API keys

To run this app on your local computer, please complete the following steps:

Clone repository:

$ git clone https://github.com/ErikaAzabache/One-City-at-a-Time.git

Create a virtual environment:

$ virtualenv env

Activate the virtual environment:

$ source env/bin/activate

Install dependencies:

$ pip install -r requirements.txt

Get your own secret keys for Foursquare, Google Maps, Imgur, and Bing Image Search. Save them in your secrets.sh file. Your file should look something like this:

export EMAIL_PASSWORD="ABC123XYZ"
export EMAIL_SENDER="[email protected]"
export EMAIL_SERVER="emailserver.com"
export USER_SENDER="my_user"

export FS_CLIENT_ID="MYFOURSQUARECLIENTID"
export FS_CLIENT_SECRET="MYFOURSQUARECLIENTSECRET"

export IMGUR_CLIENT_ID="MYIMGURCLIENTID"
export IMGUR_CLIENT_SECRET="MYIMGURCLIENTSECRET"

export BING_CLIENT_ID="MYBINGCLIENTID"
export BING_CLIENT_SECRET="MYBINGCLIENTSECRET"

Create database 'places'.

$ createdb places

Create your database tables and seed example data.

$ python models.py

Run the app from the command line.

$ python server.py

If you want to use SQLAlchemy to query the database, run in interactive mode

$ python -i models.py

Looking Ahead

  • Test app for security vulnerabilities
  • Add nested comments
  • Add ratings system for comments
  • Add place suggestions based on user's "saved" and "been here"

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published