Coder Social home page Coder Social logo

tasc's Introduction

TASC - Teachers And Students Connecting

Heroku Link

Sample Logins:

Student Account
Teacher Account:

Elevator Pitch:

We asked ourselves, how hard could it be to make something better than Schoology that provides the same Schoology functionality, but with a better user experience and also was the location for all regular homework assignment and project completion? We took it upon ourselves to look for a real world problem we faced and try to solve it. We learned a whole lot in the process!

Task Tracking

Technologies:

Ruby Rails Materialize JavaScript Jquery Bcrypt client_side_validations Github API

Wish List:

Teacher to teacher feedback Student to teacher pulse checks Teacher to student feedback Emails Attendence tracking Friendly URLs Slack notifier Chron Job

Contributors:

Flexible Technical Requirements:

Authentication & Authorization External API Additional Associations

Further Exploration:

Sessions

Who is our user

All of us!

We find that the most imporatant use of our site is that the most relevant information is easy to access and that communication flows freely.

Teachers

  • teachers can create assignments - like creating a homework assignment.
  • teachers can create feedbacks on submissions - like providing feedback on homework.
  • teachers can look at all assignments and all submissions - like looking at all homework assignments and all homework submissions from all students.

Students

  • students can create submissions on released assignments - like turning in homework on an assigned assignment.
  • students can view released assignments and their own submissions - like looking at assigned homework and the same student’s responses.
  • students can view feedback provided by teachers on that student’s submissions - students can only see feedback given to them

wireframes one

Code we are proud of

Ricardo

def self.get_profile_pic(student)
    student.profile_image = Student.get_github_img (student.github)
    student.save
  end
  def self.get_github_img (github_user)
    if github_user.include? "http"
      github_username = Student.parse_github_username(github_user)
    elsif github_user == ""
      github_username = "image"
    else
      github_username = github_user
    end
    response = HTTParty.get('https://api.github.com/users/' + github_username)
    return response["avatar_url"]
  end
  def self.parse_github_username (github_url)
    temp_array = github_url.split('/')
    username = temp_array[temp_array.length - 1]
    return username
  end
end

Mike

<div>
      <% if current_student == @submission.student %>
        <div class="col s12 center">
          <%= link_to "Edit Submission", edit_submission_path(@submission), class:"waves-effect btn waves-light green-submit-style" %>
        </div>
      <% end %>
    </div>
  <% end %>
</div>
</div>
<div class="row">
<% if current_teacher %>
  <div class="col m9 offset-m1 form form-style">
    <h4 class="center">Homework Feedback</h4>
    <% if @submission.feedback %>
      <%= @submission.feedback.content %>
      <div class="center">
        <%= link_to "Edit Feedback", edit_feedback_path(@submission.feedback), class:"waves-effect btn waves-light green-submit-style" %>
      </div>
    <% else %>
      <div class="center">
        <%= link_to "Provide Feedback", new_feedback_path(@submission), class:"waves-effect btn waves-light green-submit-style" %>
      </div>
    <% end %>
  </div>
<% end %>
<br><br>
</div>

LD

D3

  var viz = function(dataset){
    d3.select("#graphBar").selectAll("div")
      .data(dataset)
      .enter()
      .append("div")
      .attr("class", "bar")
      .style("height", function(d) {
          var barHeight = d * 20;  //Scale up by factor of 5
          return barHeight + "px";
    });

Polymorphic Relationships

class Student < ApplicationRecord
  has_many :student_courses
  has_many :courses, through: :student_courses
  has_many :submissions
  has_many :feedbacks, as: :communication
  has_many :assignments, through: :submissions
Add Comment Collapse

Ryan

<!-- Determines if submitted -->
                  <p class="col m1"> <!-- This <p> must remain BEFORE the if -->
                    <% if @submissions.find_by({assignment_id: a.id}) && @display %>
                    <i class="tiny material-icons">done</i>
                  </p>
                  <!-- Feedback if provided -->
                  <p class="col m3">
                    <% if @submissions.find_by({assignment_id: a.id}).feedback %>
                      <%=link_to "Feedback", feedback_path(@submissions.find_by({assignment_id: a.id}).feedback) %>
                    <% end %>
                    <% end %>
                  </p> <!-- This </p> must come AFTER the end -->

The TASC ERD

Database ERD

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.