The task is to build a web app that helps them find out shooting locations of their favorite movies.
directory_tree :
Task
├── .vscode/
│ └── settings.json
├── __pycache__/
│ ├── data.cpython-38.pyc
│ └── forms.cpython-38.pyc
├── data.json
├── forms.py
├── Pipfile
├── Procfile
├── readme.md
├── requirements.txt
├── static/
│ ├── main.css
│ └── search.js
├── task_main.py
└── templates/
├── index.html
├── layout.html
├── login.html
├── register.html
└── search.html
Python, Flask, jQuery, AJAX, JSON, Jinja, HTML, CSS, JavaScript, Bootstrap, SQLAlchemy
arrow==0.15.6
binaryornot==0.4.4
certifi==2020.4.5.2
chardet==3.0.4
click==7.1.2
cookiecutter==1.7.2
dnspython==1.16.0
email-validator==1.1.1
Flask==1.1.2
Flask-SQLAlchemy==2.4.3
Flask-WTF==0.14.3
gunicorn==20.0.4
idna==2.9
itsdangerous==1.1.0
Jinja2==2.11.2
jinja2-time==0.2.0
MarkupSafe==1.1.1
poyo==0.5.0
python-dateutil==2.8.1
python-slugify==4.0.0
requests==2.23.0
six==1.15.0
SQLAlchemy==1.3.17
text-unidecode==1.3
urllib3==1.25.9
Werkzeug==1.0.1
WTForms==2.3.1
If you love movies, and you love San Francisco, you're bound to love this -- a listing of filming locations of movies shot in San Francisco starting from 1924. You'll find the titles, locations, names of the director, writer, actors, and studio for most of these films.
The initial dataset is taken from https://data.sfgov.org/Culture-and-Recreation/Film-Locations-in-San-Francisco/yitu-d5am
Dataset via SODA API : https://data.sfgov.org/resource/yitu-d5am.json
Movie shooting location finder is a web application that displays a list of all movies shooted at a location along with some other details about a movie. It also provides a text search bar for dynamically searching users favourate movies by title.
In this project we build a simple Search bar that searches for movies in JSON file with some prefix dynamically using the Fetch API, Async/Await, Regex and high order array methods.
Note : Movies can only be retrieved if they are available in the dataset.
Here, we loop over the file and we post the titles, locations, names of the director and writer for most of these films. Undefined locations are checked and are ignored from the list.
WTForms are used for Login/ Signup.It is a flexible forms validation and rendering library for Python web development. It can work with any web framework and template engine you choose.
Note : Database for login signup is ignored as currently there is no role of users.
PythonAnywhere is an online integrated development environment and web hosting service based on the Python programming language. The link to the website is ani37.pythonanywhere.com
For the backend of this project Flask was used. Flask is a micro web framework written in Python.
1. Installing pip
Windows :
py -m pip --version
pip 9.0.1 from c:\python36\lib\site-packages (Python 3.6.1)
py -m pip install --upgrade pip
Linux & Mac :
python3 -m pip install --user --upgrade pip
2. Installing virtualenv & activate
Windows :
py -m pip install --user virtualenv
py -m venv env
.\env\Scripts\activate
Linux & Mac :
python3 -m pip install --user virtualenv
python3 -m venv env
source env/bin/activate
3. Clone git repo
git clone https://github.com/ani37/movie-shooting-location-finder.git
cd movie-shooting-location-finder
4. Install requirements.txt
pip install -r requirements.txt
5. Start web server
python task_main.py
Authored By: Aniket Agarwalla
Department of Computer Science and Engineering
National Institute of Technology Silchar