Skip to content

A React MPA built in Next.js focused on building community through in-person interactions and mutual aid.

Notifications You must be signed in to change notification settings

tronross/happy-helpers

Repository files navigation

A crowd-sourcing volunteering app with a focus on building community through in-person interactions and mutual aid. Whether you need a cup of milk from a neighbor, or help to fix a broken door; Happy Helpers can provide you with a volunteer.

Table of Contents
  1. How It Works
  2. Purpose
  3. Tech Stack
  4. Screenshots
  5. Setup
  6. Dependencies
  7. Project Directory
  8. Contributors

How it Works?

  • Users can post a task they need help with or browse upcoming tasks which can be filtered by location, category and date.

  • Offering help is simple: just find a task you want to volunteer for and hit OFFER. Once an offer comes in for one of your own tasks, you can view the profiles of the volunteers and select the best match.

  • After being accepted for a task, you can view it on your profile page with more information. The embedded Chat Engine lets you ensure that everything is in place as you patiently wait for the day to come to help or be helped by your neighbor.

  • Once the task is finished, you can check it complete and reward your volunteer with a star, if deserved. Stars show up on your profile to show others they can rely on you to get the job done!

Purpose

Happy Helpers has been created by Web Development students John Ross, Sarah Campbell, Alric Fernandes, and Mike Dalton for the Finals project at [Lighthouse Labs(https://www.lighthouselabs.ca/)].

Tech Stack

Next JS React Prisma Postgres NodeJS TailwindCSS

Screenshots

The Landing page

Find out how the site is designed to bring people together in their communities and either login or sign up for an account:

Landing Page

The Home page

View requests for help in your local area. Filter and search by category, dates or the distance from your door:

Home Page

The New Task page

Need a hand? You can easily add a request for help with the New Task form:

New Task Page

The Task page

View all of a user's requests for help and other similar requests to help you decide which tasks to volunteer for. At the click of a button, you can make a difference:

Profile Page

The myHelp page

Choose a volunteer from the offers of help for your own requests. Once completed, give the volunteer a star recommendation for a job well done:

MyHelp Page

The Profile page

Update your profile as your life changes or you learn new skills. Keep an eye on all of your upcoming tasks and see your history of completed tasks:

Profile Page

The Messages page

Chat with your volunteer or requester to make sure everything's in place before the job begins. Then maybe send a message of gratidude after the work has been done:

Messages Page

Setup

  • Clone the project from the GitHub repository https://github.com/tronross/happy-helpers.

  • Install dependencies with npm install.

  • Create a .env file and follow the .env.example to add:

  • Create a new PostgreSQL database using CREATE DATABASE finals;.

  • Seed the test data using the Prisma commands:

    > npx prisma db push --force-reset

    > npx prisma db seed

  • Type > npm run dev to run the development server.

  • Open the page http://localhost:3000 in your browser and enjoy the site!

Dependencies

next: 13.2.4 react: 18.2.0 react-chat-engine react-dom react-geocode react-scripts react-tailwindcss-datepicker react-xarrows prisma/client tailwindcss tailwind-scrollbar-hide axios dayjs eslint flowbite googlemaps/js-api-loader normalize.css

Project Directory Structure

finals
├── planning
└──  prisma
    ├── migrations
    ├── public
    │   └── images
    └── src
        ├── components
        │   └── taskForm
        ├── helpers
        ├── pages
        │   ├── api
        │   │   ├── addresses
        │   │   ├── messages
        │   │   ├── offers
        │   │   ├── organizations
        │   │   ├── tasks
        │   │   ├── offers
        │   │   └── users
        │   ├── profile-page
        │   └── task
        └── styles

Contributors

John Ross

LinkedIn GitHub

Sarah Campbell

LinkedIn GitHub

Alric Fernandes

LinkedIn GitHub

Mike Dalton

LinkedIn GitHub

About

A React MPA built in Next.js focused on building community through in-person interactions and mutual aid.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages