Final project for course 1 ( Data modeling for the web ) in udacity's advanced web development nanodegree program
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.
Our tech stack will include:
- 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
- HTML, CSS, and Javascript with Bootstrap 3 for our website's frontend
├── README.md
├── app.py *** the main driver of the app. Includes your SQLAlchemy models.
"python app.py" to run after installing dependences
├── config.py *** Database URLs, CSRF generation, etc
├── error.log
├── forms.py
├── requirements.txt *** The dependencies we need to install with "pip3 install -r requirements.txt"
├── static
│ ├── css
│ ├── font
│ ├── ico
│ ├── img
│ └── js
└── templates
├── errors
├── forms
├── layouts
└── pagesOverall:
- Models are located in the
MODELSsection ofapp.py. - Controllers are also located in
app.py. - The web frontend is located in
templates/, which builds static assets deployed to the web server atstatic/. - Web forms for creating data are located in
form.py
First, install Flask if you haven't already.
$ cd ~
$ sudo pip3 install Flask
To start and run the local development server,
- Initialize and activate a virtualenv:
$ cd YOUR_PROJECT_DIRECTORY_PATH/
$ virtualenv --no-site-packages env
$ source env/bin/activate
> cd YOUR_PROJECT_DIRECTORY_PATH/
> virtualenv --no-site-packages env
> cd env
> cd scripts
> activate
- Install the dependencies:
$ pip install -r requirements.txt
3 .To run the server, execute:
export FLASK_APP=flaskr
export FLASK_ENV=development
flask runset FLASK_APP=flaskr
set FLASK_ENV=development
flask run- Navigate to Home page http://localhost:5000