study-uhp.github.io

Study UHp

Table of contents

We have deployed Milestone 3 to Galaxy! Click here to check it out.

Overview

Study UHp is a web application that allows students to organize face-to-face groups for studying course material. It uses various technologies such as:

In order to minimize the possibility of cheating and taking advantage of the monetary incentives, grasshoppers will be required to submit proof of the help that they received (by providing screenshots or assignments). The submission will be sent to moderators to avoid cheating amongst classes. If the moderator decides that the submission was acceptable he/she will approve scoring and give the ‘sensei’ the number of rated points out of 5.

Team Members

Goals of the Project

Goals of Team Members

Mockup Ideas

These are our original mockup ideas which have been superseded by the Milestone 1 & 2 deployment.

Friends

We would like to implement some kind of a “friends list” using the way Discord displays friends as a starting point.

Other pages that currently do not have mockups:

Find study sessions page

Users can search for current and future study sessions by class.

Leaderboard

Still a WIP, but our “game mechanic” will have some type of ranking system to displays top users.

Messages

Either a private or public message system that will allow users to asks questions and post messages regarding study sessions.

Additional functionality ideas if time permitting

Use Cases

Need to establish a set of use cases to use as development guidelines

Milestone 1

Milestone 1 and past progress can be seen by clicking here.

Milestone 2

The goal of Milestone 2 is to improve the functionality, software engineering process, and quality of the application significantly.

Milestone 2 is being managed with the M2 Project Board

m2_project

Current Functionality:

Landing

The first page a user will see when coming to site.

m1_landing

User Sign Up

If a user does not currently have an account they can create one. We ask for some basic information about the user to get their profile started.

m1_signup

User Sign In

If the user already has an account they can proceed to sign in.

m1_signin

User Dashboard

The first page a user will see after logging in. They will also be directed here if logged in and return to the site or if they click on the logo in the navigation bar.

m1_dashboard

Study Sessions

The list of all currently scheduled study sessions. This is only available to logged in users. The “Join Session” functionality is not currently active, but will allow a user to join a study session if there is available space. The “view” link lets a user see more information about a currently scheduled session. A user can sort the list by any of the column headings, and also filter it to find any particular session by any category.

allsessions2

View Session

A user can view information about a scheduled session. In the future this will list all the participants and allow a user to join the session.

viewsession

Create A Study Session

A logged in user can create a new study session. Currently only basic options are available, and in the future they will be able to specify more detail and also schedule a session for “Right Now!”

m1_addsession

Edit A Study Session

A logged in user can edit a study session only if they are the “owner” of the study session. The same fields available upon creation and available to edit.

m1_editsession

Calendar

Logged in users can view all of the upcoming study sessions in a calendar view.

m1_calendar

Currently clicking on a session will only provide a modal dialog with placeholder text. In the future a user will be given the option to view details about the session or join it.

m1_calendar_popup

User Profile

Currently just a placeholder mockup page. In the future logged in users will be able to see their profile which will include their class listing, bio, profile picture, and rating among other things.

userprofile2

A user can also edit their profile information, including adding and removing classes.

editprofile

Admin

If a user is logged in with admin permissions they will be able to navigate to a special “Admin” page that will show a listing of all upcoming sessions. Currently the “Delete” button is not functional. In the future an admin user will have various control abilities over sessions and other aspects of the site.

m1_admin

Milestone 3

The goal of Milestone 3 is to significantly improve functionality from Milestone 2, and to find five UH community members to try out the system and provide feedback.

m3_project

Session tab

In the session tab you can view all the sessions created. You can view up to 10 sessions per page.

m3_session

As you can see the session page on the right is grayed out on first load. This will later light up as you click to view other sessions.

m3_sessionafterclicking

This is the view after clicking on the session, and it will show all the current grasshoppers and senseis in the session. There is also a join session button that will add the user to the list of participants and update the session. After clicking ‘JOIN SESSION’, you will be prompted to choose whether you want to join as a grasshopper or a sensei.

m3_swalupdate

Here you can choose which role you will be placed in on the session.

m3_sessionjoined

As you can see above, after joining the session you will be given the option to leave the session.

Calendar

With the new calendar page, it will reflect the sessions made and update itself when a new session is made. In the calendar it will show all the sessions held on that day.

m3_calendar

You can access any of the sessions on the calendar by clicking on one of the green tabs.

m3_viewfromcal

Here you can view, or join any session just like on the session page.

Developer Guide

This section provides information of interest to Meteor developers wishing to use this code base as a basis for their own development tasks.

Installation

First, install Meteor.

Second, visit the Study-UHp application github page, and download the sources as a zip file or make a fork of the repo. However you do it, download a copy of the repo to your local computer.

Third, cd into the study-uhp/app directory and install libraries with:

$ meteor npm install

Fourth, run the system with:

$ meteor npm run start

If all goes well, the application will appear at http://localhost:3000.

Application Design

Study UHp is based upon meteor-application-template-react and meteor-example-form-react. Please use the videos and documentation at those sites to better acquaint yourself with the basic application design and form processing in Study UHp.

Initialization

The config directory is intended to hold settings files. The repository contains one file: config/settings.development.json.

This file contains default definitions for Users, Profiles, and Sessions and the relationships between them. Consult the walkthrough video for more details.

The settings.development.json file contains a field called “loadAssetsFile”. It is set to true, but if you change it to false, then the data in the file app/private/data.json will not be loaded. The code to do this illustrates how to initialize a system when the initial data exceeds the size limitations for the settings file.

Quality Assurance

ESLint

Study UHp includes a .eslintrc file to define the coding style adhered to in this application. You can invoke ESLint from the command line as follows:

meteor npm run lint

Community Feedback

How does the site look?

chart

What’s your favorite thing about the web app? Why?
Least favorite? Why?
Would you use an app such as this one? If so why?
What is your major? If not computer science, would you like to see this web app for your major?

chart

Would you like the see this site or something similar implemented for UH?
How is it compared to other websites you use and how does it compare to those in the UH system?
Any suggestions to improve the web app?
Any noticeable bugs and/or flaws?
Any additional comments?

User guide

When you the user first gets onto the site, you will be greeted with our logo and signin/signup buttons.

m1_landing

The text will show you what our webapp can do for you and what the webapp will be used for. After clicking signup, you will be led to the signup page.

m1_signup

You will be asked to enter your email, first name, last name, and a little about yourself.

After going through the prompt you will be taken to the sessions tab.

m3_sessions

You can view all of the current sessions, but before going through that lets go to the edit profile page. You can get here by clicking in the corner on your email and clicking on profile.

userprofile2

Here you will be given the option to add classes you’re good at in the Sensei’s list or classes you might need help with in the grasshopper’s list. The profile will also show you the current sessions that you joined.

As you can see there are a points system, the points system is supposed to be a game, where you earn points by tutoring people in classes that you’re good at. The score will reset every week and give you points based on how many people you helped.

Now lets get back to the sessions tab.

m3_sessions

Here you can look at all the sessions that were made. To view the session in more detail look on the right side. Right now it is greyed out but when you click on any session it will light up.

m3_sessionafterclicking

You can see all of the details of the session here. It will inculde the person that started the session, the duration of the session, the topic you will be working on, who the participants are, and finally when the session will be held.

To join the session simply click the JOIN SESSION button!

m3_swalupdate

Here you will need to choose whether you would like to join as a grasshopper(tutored), or the sensei(tutor). After clicking on one of the options, the session will reflect your decision.

m3_sessionjoined

Now that we have the sessions tab out of the way we can move onto the calendar tab. Here you will have most of the functionality from the sessions but in a different view.

m3_calendar

As you can see, you can view all the sessions for the month in an easy to read calendar. Here you can also choose to view a session by clicking on any of the green tabs.

m3_viewfromcal

It will then bring you to the session that you clicked on, and here you may also choose to join a session.

Our webapp was designed to encourage ICS students to use ICSpace and help students find people to study with/get help.