Git Product home page Git Product logo

schedulacity's Introduction

Schedulacity

Manage. Track. Schedule. Cloud based client management software that allows you to schedule sessions, track attendance, and handle communication. Schedulacity makes it easy to keep track of your clients. With contact information storage and notes for each client, you can keep track of what matters most. You text message them directly through the app. Scheduling one-off or repeating sessions is a breeze with schedulacity and the attendance tracker helps to make sure you don't lose track of anyone.

enter image description here

enter image description here

enter image description here

Technologies Used

Schedulacity is built with Ruby on Rails.

APIs:

  • Google Oauth and Calendar
  • Twilio (Text-messaging)

Gems:

  • Bootstrap_form (Beautiful, easy, forms)
  • Font-awesome-rails
  • Pry-rails (Makes Pry beautiful)
  • Omniauth and the Omniauth-Google-Oauth2 Strategy
  • Rest-client
  • Google-Api-Client
  • Momentjs-Rails (Awesome date manipulation)
  • Bootstrap3-datetimepicker-rails (One of the better date-time pickers out there)
  • Fullcalendar-rails (Super easy and full-featured calendar)

Approach

The main goal of this project was to make a clean and easy to use management app for independent instructors. Version 1 of Schedulacity focused strongly on this goal from the instructor point of view. For future versions, we would like to make it even easier for instructors with features like:

  • Attendance confirmation via text messaging
  • Student/Client side login and class signup
  • Payment managment

Wireframes

enter image description here enter image description here

ER-Diagram

ER-Diagram

Issues

This web app is currently in beta testing. Known issues:

  • Google calendar events don't get deleted if you disconnect from Schedulacity from Google account
  • Adding repeating events where the day of the selected event isn't a day checked in the repeat days list will throw an error

Original Setup Information

Models V1

User

  • id
  • name
  • email
  • password_digest
  • phone_number
  • provider
  • provider_id
  • provider_hash

Migration

rails g model user name email password_digest phone_number provider provider_id provider_hash

Associations

has_many :classgroups

Student

  • id
  • name
  • note
  • dob
  • email
  • phone_number
  • street_address
  • city
  • state
  • zip
  • notifications

Migration

rails g model student name note:text dob:date email phone_number street city state zip notifications:boolean

Associations

has_and_belongs_to_many :classgroups has_many :contacts has_many :attendances has_many :events, through: :attendances

Classgroup

  • id
  • name
  • description
  • user_id

Migration

rails g model classgroup name description:text user:references

Associations

has_and_belongs_to_many :students belongs_to :user has_many :events

Event

  • id
  • start (datetime)
  • end (datetime)
  • street_address
  • city
  • state
  • zip
  • note
  • classgroup_id

Migration

rails g model event start:datetime end:datetime street_address city state zip classgroup:references

Associations

belongs_to :classgroup has_many :attendances has_many :students, through: :attendances

Classgroups_Students

  • id
  • classgroup_id
  • student_id

Migration

rails g model classgroups_students classgroup:references student:references --force-plural

Associations

Attendance

  • id
  • event_id
  • student_id
  • attendance_type

Migration

rails g model attendance event:references student:references attendance_type:integer --force-plural

Associations

belongs_to :student belongs_to :event

Models V2

Contacts

  • id
  • name
  • email
  • phone_number
  • street_address
  • city
  • state
  • zip
  • relation
  • student_id

Migration

rails g model contact name email phone_number street_address city state zip relation student:references

Associations

belongs_to :student

Archive Information

Tag Line Ideas

Simple client management and scheduling Simple client scheduling and attendance Client managment; Simple to set up; Simple to use Integrated Client Managment, Scheduling, and Attendance Manage. Schedule. Attendance. Managing. Scheduling. Attendance. Manage. Track. Schedule.

Elevator Pitch Ideas

Simple client management software that allows you to schedule sessions, track attendance, and handle communication. Cloud based client management software that allows you to schedule sessions, track attendance, and handle communication.

schedulacity's People

Contributors

kgilmur avatar mcgough avatar ncronquist avatar

Watchers

 avatar  avatar

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.