Go With The Flow — Building My First Music App with Django (Part 1)

Gettin’ ChiPy with it (CHipē)

What is ChiPy? ChiPy is Chicago’s official Python user group, and an outstanding resource for both newcomers and seasoned programmers to collaborate and learn about all things related to Python. They host project workshops, informative talks, and other events via Meetup, to educate and inspire Chicago’s growing Python user base. Each Spring and Fall, ChiPy hosts a mentorship program which pairs programmers of all levels with a mentor, providing them with powerful resources and guidance to help them accomplish a goal. This goal can be anything from learning the basics of Python to finishing a project idea of your own.

At my first ChiPy event, I witnessed the Spring 2017 mentee final presentations, and was blown-away by how much the mentees were able to accomplish in just 13 weeks. This gave me the inspiration to follow in their footsteps and utilize the Chipy mentorship program to push myself to learn even more about Python. I am very excited and thankful for the opportunity to be a part of the program, and the acceptance and enthusiasm I’ve encountered from everyone involved has been tremendous.

My Mentor

My mentor Connar is a software engineer in data services, and in a little over a week, has already helped me learn the basics of setting up virtual machines, how to use the linux command line interface, and how to get started with the high level web framework, Django. I’m very grateful to have the opportunity to work with Connar, and I can’t wait to see what the rest of the journey has in store.

Background

I received my degree in Communication, and a minor in Business, but music is my main passion. Anything relating to the topic really (Hi-fi listening, production, mixing, sound design, recording, DJing). My first big moment of excitement for Python came when a friend mentioned how he had used Python to re-create an audio fingerprinting program, similar to Shazam. I remember feeling that burst of excitement, when I learned that there was a whole other side to music technology that I had not yet explored.

About 5 months ago, I started learning to program using Python to help automate some simple tasks at work. At least, this was the motivation to begin learning, but it took a while before I was able to put Python to practical use. Automate the Boring Stuff by Al Sweigart proved to be an excellent resource for revealing Python’s capabilities in a day to day office environment. Over the last few months, I worked on a program which parses through a docx. file, stores a string of text into several different variable names, and inserts the numerous variable values into merge fields on another document. This project introduced me to regular expressions, and showed how powerful they can be when used carefully.

My Project | Hmny (härmənē)

When looking up our favorite songs on the web, we may often find ourselves jumping between SoundCloud, Spotify, YouTube, and other popular web audio/video platforms. This creates a disturbance in the natural flow of the listening session. Music is most enjoyable when the transition from one song to another is seamless. Hmny makes your favorite music from several popular audio platforms accessible in one user friendly web app.

Tools

I hope to use the following technologies, but know there will be more added as the project develops.

Front-End

  • HTML 5
  • CSS 3
  • Bootstrap

Back-End

  • Django

Server

  • AWS

Version Control

  • GitHub

API’s

  • Soundcloud
  • Spotify
  • Youtube

Progress

So far, I’ve done the following:

  1. Setup a project directory and virtual environment

2. Installed Oracle VM Virtual Box and installed Ubuntu 16 LTS (in that order)

3. Built a polls app using Django (Writing your First Django App)

4. Began to plan what type of data will need to go into Django’s models.py file

User info

  • Name
  • Email
  • Password (must be hash , not plain text.)

Playlist info

  • Tracks
  • Creation Date

I will discuss the full feature set in my next post.

Wrapping it all up

I have minimal experience using HTML, CSS, Django or API’s, so this project presents a great opportunity to expand my knowledge in the world of web development. Since music is my main passion, I look forward to building my first music related app over the course of the mentorship. I’d like to pursue a career in web development one day, and know that the Chipy Mentorship will help steer me in the right direction. If you’d like to keep up with my progress, stay tuned for my next blog post and check out the code on GitHub (coming soon).