/WhiteBoard

Dynamic syllabus for a better BootcampSpot

Primary LanguageHTML

Whiteboard

BootcampSpot Dynamic Syllabus

“A better spot for bootcamp”

Table of Contents
I. Proposal
II. Team Members
III. Tools
IV. File Tree
V. Contributions


Proposal

Issue

Mandated learning resources, lesson prep materials, and the course syllabus (and their attendant learning objectives) are contradictory in places, under curated in others, and wholly fragmented if not altogether absent.

BootcampSpot is a hollow and two-dimensional tool as it exists, but one which we believe offers a platform and framework to solve the above issues. By extending BootcampSpot’s ‘Week Sessions’ calendar our team can greatly enhance the learning experience for the course’s students, and the teaching experience for it’s instructors and TAs.

Fix

Consolidate student and instructor interaction more centrally to BootcampSpot by extending the functionality of the ‘Sessions’ syllabus. To achieve this we will give the instructor/TAs greater backend or ‘admin’ options toward customizing the syllabus and session specific ‘card’ to enable students to not only log their attendance, but interact with the card dynamically. This can be from posting lesson prep-work and/or resources, to having the students be able to rate that resource and/or post their own resources as they pertain to that lesson. Other things, from a “Raise Hand” button that would alert a TA in real-time as to the student's question, while still enabling instruction to progress, to the hosting of the recorded lesson stream, to the monitoring of student engagement in the lesson via a “page focus” script, are actively being explored as well.



Team

Jennifer Reilly

  • Graphic & UI Design

Alex Pugh

  • Front-end Development

Tom Dolphin

  • Front-end Development

Cody Crozier

  • Back-end Development


Tools

  • Node.js
    • Body-Parser - translate various formats
    • Express.js
      • Handlebars - templating engine for student profiles and instructor/admin dashboards
      • Sequelize - manipulating MySQL tables
    • Moment.js - user session tracking
    • MySQL - linking to database
  • MySQL Database - to capture users, resources, interaction
  • Bootstrap 4 - HTML/CSS frameworks
  • OAuth (GitHub) - login and administering of privileges
  • Electron - multi-platform usability (desktop or in-browser)
  • GitHub - repository for versioning and project cards
  • Google Drive - doc coordination and hosting
  • Slack Channel (private) - team communication
  • Draw io - mockups and wireframes for site, user flow, and database organization
  • Chatkit - on-site and/or in-app chat


File Tree



Contribution Policy

GitHub Flow

GitHub Flow is a simple and effective branching strategy which the folks at GitHub use. Most teams actually do not need everything GitFlow gives them and are much better off with a simpler workflow.

GitHub Flow is in a nutshell:

  1. Update master to latest upstream code
  2. Create a feature branch git checkout -b myFeatureBranch
  3. Do the feature/work
  4. Push feature branch to origin
  5. Create pull request from origin/ -> upstream/master
  6. Review, fix raised comments, merge your PR or even better, get someone else to.

The main rule of GitHub Flow is that master should always be deployable. GitHub Flow allows and encourages continuous delivery.

Resources