Git Product home page Git Product logo

violatido / virtual_music_studio Goto Github PK

View Code? Open in Web Editor NEW
7.0 1.0 2.0 7.16 MB

A web app that allows private music teachers to organize their studios in one place, students to track their practice habits

Home Page: https://virtual-music-studio.herokuapp.com/

Python 41.68% HTML 32.41% CSS 7.45% JavaScript 18.46%
private-music-teachers virtual-music-studio teachers twilio-sms-api students chartsjs python3 flask sqlalchemy practice-habits lessons practice

virtual_music_studio's Introduction

Virtual Music Studio

Created by Ilana Rose Mercer

Virtual Music Studio is an organizational web app for private music teachers that allows them to keep track of all their students in one space. Features include data visualization of a student’s practicing statistics, the ability for teachers to send texts to their students from the app, and recording lesson notes and practice logs. 🎶 🎵 🎶

Visit the app!

Demo Video

Stack

Front-end: JavaScript (AJAX, JSON), CSS, HTML
Back-end: Python, Flask, Jinja, SQLAlchemy, PostgreSQL
Libraries/APIs: Chart.js, Moment.js, Twilio SMS API

Data Model

Features

  • Using Charts.js, students can log their practice sessions to create three different charts that break down their practice data in terms of frequency and length of session. This helps students and teachers to track practice habits and achieve their practicing goals. The Moment.js library provides the ability to parse datetime objects into displayable data.

  • The Twilio SMS API lets teachers quickly send important updates and reminders, such as lesson time changes and practice goal nudges, straight to a student's phone without sharing their own personal contact information.

  • An additional feature essential for all private lessons teachers is a lesson note taking-service, which gives teachers the ability to keep track of essential information such as payments, tardiness, assignments, etc.

Setup/Installation

Requirements

  • PostgreSQL
  • Python 3.7.3

Clone this repository

git clone https://github.com/violatido/Virtual_Music_Studio.git

Create a virtual environment

python3 -m venv env

Activate the virtual environment

source env/bin/activate

Install the requirements

pip install -r requirements.txt

Create database VMS

(env) $ createdb VMS

Create database tables

(env) $ python3 -i model.py
>>> db.create_all()

Start backend server

(env) $ python3 server.py

Usage

If using the Twilio SMS API feature:

  1. After installation, visit the Twilio SMS API docs to set up your account
  2. Create a file called secrets.sh
  3. In secrets.sh, set export variables for your Account SID, Auth Token, and Twilio phone number. These items will be needed in the "send_message" function declared in line 365 of server.py
export ACCOUNT_SID = ''
export AUTH_TOKEN = ''
export TWILIO_PHONE = ''
  1. Run in the terminal: source secrets.sh

Troubleshooting

If you make changes to the database and you want to drop and recreate it:

  • drop the current database (this gets rid of everything):DROP SCHEMA public CASCADE;
  • create an empty schema where the database will populate: CREATE SCHEMA public;
  • run seed.py to populate the database: python seed.py --createdb --dropdb --seed_data

Future Features

  • Google Calendar API to allow students and teachers to including their calendars in their profiles for quick lesson scheduling
  • A weekly text to students updating them on their current weekly practice stats
  • A one-on-one messaging service between students and teachers to limit the majority of the communication outside of lessons to be in-app, freeing up precious space in the teacher's email inbox
  • A lesson payment tracking feature to assist teachers who have students with varying payment schedules, as well as late or missed payments

Acknowledgments

I would like to thank the all of the teachers, TAs, and fellow classmates at Hackbright Academy who supported me during the creation and first implementation of Virtual Music Studio. I also wish to voice appreciation for my wonderful mentor, Kathy Kaminski, who spent time sharing wisdom and debugging knowledge with me through the journey of creating my first ever solo project.

About the developer ...

Ilana Rose Mercer is a software engineer finishing her fellowship at Hackbright Academy. Before she learned how to code and became passionate about growing my career in tech, Ilana worked as a professional classical musician and private music teacher. This project is very personal to her because it is a beautiful joining of her past and present careers, and a product that she would have used daily during her private music teaching years.

Feel free to connect with Ilana here on Github and on LinkedIn

VMS logo

virtual_music_studio's People

Contributors

violatido avatar ybressler avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

ybressler drkzrg

virtual_music_studio's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.