GithubHelp home page GithubHelp logo

waste-watchers's Introduction

Waste Watchers Logo

waste-watchers.netlify.app

Appendix

Overview

Waste Watcher is a web and mobile application that makes recycling fun. It provides a way to track what and how often users recycle and shows users the impact they're making on the environment. Points are awarded for every item recycled-- every 100 points a digital tree is planted. The ultimate goal of the app is to spread awareness of how important recycling is for the environment, and make recycling more accessible for everyone.

Team

Team Expectations

MVP

SEI Trello

UXDI Trello

Backend

  • Set up NodeJS and Express backend file architecture.
  • Installed dependecies such as Mongoose for MongoDB, Express, etc.
  • Built out the schema to store user information and recycled items.
  • Imported and connected files to make sure they perform full CRUD functionality.
  • Deployed to Heruko and connected to MongoDB Atlas, tested CRUD functionality using MongoDB Compass and Postman.

Front-End

  • Created a well-designed front-end experience based off of collaboration with UXDI team.
  • Set up the front-end file architecture (components, images, services, and screens) and made sure files were connected to appropriate routes.
  • Used Styled Components library for styling of all components.
  • Built out the ability to create, edit, and delete user account information.
  • Deployed site using Netlify.

Post MVP

  • Created a fully-functional screen that allows users to log recycled items.
  • Created a metrics page that shows user progress with an animated progress bar.
  • Created total digital tree count based off of user points.
  • Created a statistics chart using the D3 library, displaying a percentage of recycled items by category.
  • Created an animated loader to display while API calls are in progress.
  • Built pop ups based off of app design, for user errors and confirmations.
  • Implemented mobile-friendly styling.

Component Tree

Component Tree Whimsical Diagram

UXDI Design Collaboration

Design Zeplin

MongoDB Schema

const mongoose = require('mongoose')
const Schema = mongoose.Schema

const User = new Schema(
  {
    accountInfo: {
      username: { type: String, required: true },
      email: { type: String, required: true },
      password: { type: String, required: true },
      profileImg: { type: String, required: true }
    },
    points: { type: Number, required: true },
    itemCategories: {
      metal: { type: Number, required: true },
      glass: { type: Number, required: true },
      plastic: { type: Number, required: true },
      cartons: { type: Number, required: true },
      paper: { type: Number, required: true },
      cardboard: { type: Number, required: true }
    }
  },
  { timestamps: true }
)

module.exports = mongoose.model('users', User)

Brought to you by: Team Don't Over ReactJS logo

waste-watchers's People

Contributors

indianakuffer avatar za-h-ra avatar davidkhantech avatar zahra-io avatar dependabot[bot] avatar

Stargazers

srinivasa reddy challa avatar  avatar

Watchers

 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.