Convert HTML template into Flask app and deploy on Heroku

Job ID: 33944407

Budget: $30 – $250 USD

I'm looking for a Senior Flask / Python Developer to convert a HTML/CSS template into a Flask application, fetch page data from an API and render it on the page.

You must have experience working with HTML/CSS to ensure the data you load onto the page is shown correctly and does not break the layout that is already created.

**Task overview:**
1. Create and deploy empty Flask app to Heroku
2. Add existing HTML/CSS + static files to Flask app
3. Modify HTML to convert into Flask templates with data loaded from API
3. Setup routing to handle inbound HTTP requests


**More details...**
The website is currently built using the Silicon Bootstrap template and uses Gulp to compile from SCSS into static HTML/CSS/JS files. In Flask, the CSS/JS files will exist in /static/ and you can then make each HTML file into a template with dynamic content.

The data being displayed on the website will be fetched from an RESTful API. To fetch data for the page, you will make a simple GET request and the API will return JSON data which should be parsed and displayed onto the page.

For example:
[Misc. Content] GET https://api.domain.com/website/?pageData=featuredPlaylists
[Page Content] GET https://api.domain.com/website/?playlistSlug=coachella

For routing, each inbound HTTP request will be structured as follows:
Route 1 (View homepage) : domain.com / [locale] /
Template: https://my.musicmagic.io/index.html

Route 2 (View all) : domain.com / [locale] / playlists /
Template: https://my.musicmagic.io/playlists-viewall.html

Route 2 (View single): domain.com / [locale] / playlists / [slug]
Template: https://my.musicmagic.io/playlists-jacobcollier.html

Route 3 (View single #2): domain.com / [locale] / playlists / [tag] / [slug]
Template: https://my.musicmagic.io/playlists-jacobcollier.html

When handling a request, extract [slug] and use this to fetch the correct data from the API. You should also use [locale] to determine which language to render in the HTML. You will also use the locale information to ensure the correct metadata is set in the HEAD.
Related categories: JavaScript Python HTML Git Heroku