http://kristinottofysearchapp.azurewebsites.net
This is a Python/Django application. This application takes input as a query and returns search results from Wikipedia and Twitter.
Program was written by Kristin Ottofy with the help of Visual Studio 2015, and especially Python Tools for Visual Studio!
The Twitter search is completed through Tweepy. This applications is currently set to use Twitter's REST API which returns a limited amount of results (within a week or so) and does not stream live data. It is set to deliver the most recent results. This application has also capped the amount of results to return from the search. Searching by location looks at the user's public ip address. Any spoofing will cause disfunction :)
The Wikipedia search is completed through Python's Wikipedia Package. Often, queries cause Disambiguation Errors. Currently, those are handled on a limited basis. Ex. if a query like 'banana' returns a DisambiguationError, the error is parsed and the available pages in the error are added to the results. Therefore, this error can happen again on one of those pages, but this application will only add so many results.
- Handles no results receieved from either Twitter or Wikipedia by displaying message.
- If one API is down, the other will still work.
- Site is responsive and mobile friendly with a Bootstrap collapsable menu.
- Simple Django setup with templates, forms, views, etc. allows for pretty easy to read code.
- Twitter Authentication details are not uploaded to GitHub.
- Uses HTML5 to require an input.
- Asks for twitter authorization at every search. Twitter search is fast but display of results is slow for Twitter and Wikipedia results.
- layout.html is HTML5 validated. search.html is mostly HTML5 validated except for the href attribute on a element contains "illegal characters".
- PageSpeed: Server response time is 8.4 seconds - needs to speed up!!
http://kristinottofysearchapp.azurewebsites.net/?query=kristinottofy as of 10/5/15 11:54 am EST
- Eliminate render-blocking JavaScript and CSS in above-the-fold content
- Reduce server response time
- Leverage browser caching
- Optimize images
- Minify JavaScript
- Minify CSS
- Avoid landing page redirects
- Enable compression
- Minify HTML
- Prioritize visible content
- Size tap targets appropriately
- Avoid app install interstitials that hide contentBETA
- Avoid plugins
- Configure the viewport
- Size content to viewport
- Use legible font sizes
- Reduce server response time
- Eliminate render-blocking JavaScript and CSS in above-the-fold content
- Leverage browser caching
- Optimize images
- Minify JavaScript
- Minify CSS
- Avoid landing page redirects
- Enable compression
- Minify HTML
- Prioritize visible content
Part 1: Move Search bar and Submit button to nav-bar.- Part 2: Explore possibility of new home page with search in the middle.
Create option to search twitter by user location. See if it's possible to request IP address, use API to search for IP latitude and longitude, use Tweepy GeoCode.- Redirect to pretty error page when issues are encountered.
Create alert system so admin can know real-time errors.Now using Azure alerts!- Have search.html HTML5 validated.
Figure out how to make Twitter results all the same for a particular query.Now pulls recent updates!- Create DisambiguationError handling function for code readability.
- (Optional-speed up server response preferred!) Display "Working on it..." type of message when query is being processed.
- Add unit tests for searching twitter by location