Code Monkey home page Code Monkey logo

makehaven-volunteer-interface's Introduction

๐Ÿ”ง MakeHaven Volunteer Interface ๐Ÿ”†

Final Project for CS50

Check out our demo video ๐ŸŽฌ https://youtu.be/ZbWkigHhxFE ๐ŸŽฌ!

A volunteer community interface for a local service organization called MakeHaven. We aim to enhance motivation, communication, and organization for volunteer work through various functionalities. The project is stored in CS50 IDE and is compiled through Flask.

(Note: the program requires the module "dateutil", thus any CS50 IDE server needs to download python-dateutil package by executing the following two commands: "sudo apt-get install python-pip"; "sudo pip install python-dateutil".)

Usage for volunteers ๐Ÿ“ƒ

To browse the website, a volunteer would need to register an account on the website. The user's account information would be stored in the table "users" in our database "project.db."

After registering or logging in to their accounts, users are brought to the index page. Users may scroll through the carousel on the index page to view photos of MakeHaven volunteering, an upcoming task that the user already signed up for, and an inspirational quote.

To view more information about the tasks that they have signed up for, users should click the "User Info" tab on the top-left navigation bar of the website and will be redirected to the "User Info" page. This page displays a user's name, username, and volunteer credit. Users may change their username or password by clicking on the "Change Username" or Change Password" links. Furthermore, there is a table displaying information about each task a user has signed up for, and users can add the event to their own Google/iCloud/Outlook/ Yahoo calendar by clicking on the corresponding tab on the right of each task. If users would like to access their Slack account to set up a reminder for themselves, they may also click on the link provided above the table to be redirected to the sign-in page for Slack.

To view all the volunteer tasks that are going on at MakeHaven, user should click on the "All Tasks" tab on the top-left navigation bar. Users are encouraged to watch the introductory video to MakeHaven before they sign up for any tasks. To sign up for a task, users just need to click on the button corresponding to each task. Their sign-up-time and other information will be recorded in the database.

When it comes time to do the task, users should click on the "Check In" tab on the top-left navigation bar. The "Check In" page displays tasks that the user have signed up for, and at the bottom of the page there is a drop-down menu for users to check in for a task. Once a user checks in, a corresponding amount of credit for the task will be added to the user's account information in the "users" database. To view one's credit score compared to other volunteers', users can click on the "Rankings" tab on the op-left navigation bar. The "Rankings" page displays the ranking and credit score for each volunteer.

Finally, users may access a discussion forum through the "Message Board" tab on the top-left navigation bar. Users may view any notifications posted by administrative staff. Users may also post messages in the forum and adjust the size of the text box if necessary. After submission, users' comments need to be approved by administrative staff and their "approved" status changed to 0 in the "forum" table. Once the status is changed, the comment will appear on the message board.

Usage for admins ๐Ÿ“ƒ

Admins have the added functionalities of: 1) Add Tasks; 2) Remove Tasks; 3) Approve or delete user comments; 4) Post Admin notification (at Message Board).

To add tasks, go to "Add Tasks." All fields are mandatory except for the recurrence cycle. If a task does not recur regularly, simply leave the field blank. The rest of the functions are straightforward to navigate.

makehaven-volunteer-interface's People

Contributors

xm83 avatar

Stargazers

J.R. Logan avatar

Watchers

James Cloos 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.