Project 1 for Fullstack Nanodegree @ Udacity
Fyyur is a musical venue and artist booking site that facilitates the discovery and bookings of shows between local performing artists and venues. This site lets you list new artists and venues, discover them, and list shows with artists as a venue owner.
- virtualenv as a tool to create isolated Python environments
- SQLAlchemy ORM to be our ORM library of choice
- PostgreSQL as our database of choice
- Python3 and Flask as our server language and server framework
- Flask-Migrate for creating and running schema migrations
Below is a demo for every implemented feature
-
Artist List and Detail View
-
Artist Search View
-
Artist Edit View
-
Artist Create View
-
Venue List and Detail View
-
Venue Search View
-
Venue Edit View
-
Venue Create View
-
Venue Delete View
-
Show List View
-
Show Create View
To get a local copy up and running follow these simple steps.
- Docker
- docker-compose
Follow this guide to learn how to install them
- just use the following command to get the application to start
make
cd path/to/the/project_dir
pip install -r requirements-dev.txt
python manage.py load_db location
python manage.py load_db genres
python manage.py run
- just use the following command to run the unittests
make test
cd path/to/the/project_dir
pip install -r requirements-dev.txt
nosetests -sv
you should see the following
❯ make test
docker-compose run --service-ports --rm python nosetests -sv
Starting fyyur_database_1 ... done
Test Artist Create: test that an artist can be created /artists/create ... ok
Test Artist Detail: test that all artist details are listed in /artists/<artist_id> ... ok
Test Artist Edit: test that an artist can be edited /artist/<artist_id>/edit ... ok
Test Artist List: test that all artists are listed in /artists/ ... ok
Test Artist Search: test that all matching artists are listed in /artist/search ... ok
Test Show Create: test that a show can be created /shows/create ... ok
Test Show List: test that all shows are listed in /shows/ ... ok
Test Venue Create: test that a venue can be created /venues/create ... ok
Test Venue Detail: test that all venue details are listed in /venues/<venue_id> ... ok
Test Venue Edit: test that a venue can be edited /venues/<venue_id>/edit ... ok
Test Venue List: test that all venues are listed in /venues/ ... ok
Test Venue Search: test that all matching venues are listed in /venues/search ... ok
----------------------------------------------------------------------
Ran 12 tests in 1.008s
OK