GithubHelp home page GithubHelp logo

hyf-group2-fp / just4giving Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 8.0 20.21 MB

Just4Giving : Full-Stack app used to connect people who want to donate goods with people in need (newcomers and refugees).

Home Page: https://just4giving.herokuapp.com/

License: MIT License

JavaScript 91.72% HTML 0.57% CSS 7.67% Shell 0.04%
hyf newcomers refugees refugees-welcome

just4giving's Introduction

Just4Giving

A full-stack app used to connect people who want to donate goods (giver) to people in need (needer). ))

Table of contents

General info

There are many people in Brussels who want to get rid of objects they no longer use, like furniture, clothes, books, electronics, PCs and so forth, and at the same time want to help the ones in need. We call the first group Needers and the second Givers. The idea of the application is to offer a tool to connect those who have items to donate with those in need. This app provides an easy and secure connection between Givers and Needers.

Screenshots

Example screenshotjust4giving_2 just4giving_2b

Technologies

UX/UI

  • Figma

Front-End

  • HTML 5
  • CSS 3
  • BootStrap 4.6
  • JavaScript
  • React 17.0.2
  • Axios 0.21.1
  • Redux 4.1.0

Back-End

  • Node.js 14.16.1
  • Express 4.17.1
  • Nodemon 2.0.3
  • sequelize 6.6.2
  • MySQL 2.2.5
  • VSC 1.51
  • Postman 8.3.0

Dev-OPs

  • Heroku

Setup

  • npm install in the root folder.
  • cd client && npm install
  • npm run dev

Quick Setup

  • npm run db
  • npm run quick

Code Examples

import React from "react";
import { Jumbotron, Button, Card, CardDeck } from "react-bootstrap";
import team from "../../assets/landingpage/team.png";
import trust from "../../assets/landingpage/trust.png";
import team1 from "../../assets/landingpage/team1.png";
import ReactPlayer from "react-player";
import video from "../../assets/landingpage/video.mp4";
import footer from "../../assets/landingpage/illustartion.png";
import { Link } from "react-router-dom";
function Demo() {
  return (
    <div className="Demo">
      <div className="bg">
        <Jumbotron>
          <h1>Welcome To JUST4GIVING!</h1>
          <p>
          <Link to={"/signupneeder"}>
            <Button className="btn-sm">I Need Something</Button>
          </Link>
          <Link to={"/signupgiver"}>
            <Button className="btn-sm">I Want to donate Something</Button>
          </Link>
          </p>
        </Jumbotron>

        <CardDeck className="cards">
          <Card className="shadow-lg rounded card1">
            <Card.Body>
              <Card.Title id="card1h">Donate</Card.Title>
              <Card.Text id="card1p">
                Don't throw it away, give it away. Help others to have a better
                life.
              </Card.Text>
              <Card.Img
                style={{ width: "120px", height: "120px" }}
                src={team}
              />
            </Card.Body>
          </Card>
          <Card className="shadow-lg rounded card2">
            <Card.Body>
              <Card.Title id="card2h">Help</Card.Title>
              <Card.Text id="card2p">
                We know you are strong but accepting help is its own kind of
                strength.
              </Card.Text>
              <Card.Img
                style={{ width: "120px", height: "120px" }}
                src={trust}
              />
            </Card.Body>
          </Card>
          <Card className="shadow-lg rounded card3">
            <Card.Body>
              <Card.Title id="card3h">Connected</Card.Title>
              <Card.Text id="card3p">
                Stay connected. The world is full with nice people. If you can't
                find one Be One!
              </Card.Text>
              <Card.Img
                style={{ width: "120px", height: "120px" }}
                src={team1}
              />
            </Card.Body>
          </Card>
        </CardDeck>

        <div className="container">
          <div className="player-wrapper">
            <h2 id="videoh">Our Vision</h2>
            <ReactPlayer
              className="react-player"
              width="80%"
              height="650px"
              controls={true}
              url={video}
            />
          </div>
        </div>

        <div>
          <img className="bg2" src={footer} alt="bg2" />
        </div>
      </div>
    </div>
  );
}
export default Demo;

Features

List of features ready and TODOs for future development

To-do list:

Status

Project is: in progress

Inspiration

Authors

Project Coaches :

Project Owner :

UX/UI designer :

Front-End :

Back-End :

Dev-OPs :


just4giving's People

Contributors

bermarte avatar dependabot[bot] avatar samirm00 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

just4giving's Issues

2-1-sign up giver

Summary

Create the page and back route to handle the sign-up of a giver.

  • this issue developed on a branch i-signup-giver

Acceptance criteria

  • Create backend endpoint /giver/signup

1-5-links

  • this issue is developed on a branch 1-landingpage
  • add a link to about us page in the navigation bar nav
  • add a link for privacy in the footer
  • add a link for term and conditions in the footer

Delete Good

Add button to delete a post

Screenshot 2021-05-17 at 18 28 08

Acceptance criteria

  • Add delete button to Good card
  • When clicking the button the Good is deleted
  • The overview is refreshed after a delete

Make sure backend does data validation

Make sure the submitted data is validated. If the data is invalid a relevant HTTP response code is returned.

  • this feature is developed in the branch viii-validation

1-2-body for sign up

  • this issue developed on a branch 1-landingpage
  • create a description
  • button for sign up for the needer
  • button for sign up for the giver

2 - 2 Privacy disclaimer

Summary

Create a page where you can find information about the privacy policy.
This feature is created on the branch 2-disclaimer.

Acceptance criteria

  • Created the privacy policy according to the design on /privacy

4-database

  • create the schema
  • create the db file
  • create fake data

2-3-sign in giver & needer

Summary

  • this issue developed on a branch ii-signin

Acceptance criteria

  • Backend route /signin exists
  • On successful authentication, a cookie with a session is returned

1-4-footer

  • this issue developed on a branch 1-landingpage
  • add img to express our application
  • add a footer

2-2-sign up needer

Summary

Create the page and back route to handle the sign-up of a needer.

  • this issue developed on a branch i-signup-needer

Acceptance criteria

  • Create backend endpoint /needer/signup

2-8- get a good needer

Summary

  • this issue is developed on a branch iv-posts-category
  • get a single good data

Acceptance criteria

  • Create a backend route GET /goods/{id}
    • Return all the details of a single good as the response.

2 - 1 About us page

Summary

Create a page where you can find information about the team. See the design on figma.
This feature is created on the branch 2-aboutus.

Acceptance criteria

  • Create the about us page on the route /about-us

redo

redo of PR #75
This feature is created on the branch 2-aboutus-update.

About page

2-7- get goods needer

Summary

  • this issue is developed on a branch iv-posts-category-all and then in deveop
  • get all the goods (of all categories)

Acceptance criteria

  • Create a backend route GET /goods
    • The route should return all goods.

  • this issue developed on develop
  • get all the goods for a single category

Acceptance criteria

  • create a route GET /goods/category/{id}
    • The route should return all goods matching the category.

Create the Giver profile

Create the profile page of the Giver that displays all the Goods owned by the Giver.
Developed in branch 8-giver-profile
Screenshot 2021-05-17 at 18 21 18

Acceptance criteria

  • Page that displays all the Goods from the Giver
  • Component for a Good
  • Add a button that links to the page where you can add a Good

[Frontend] 2-1-sign up giver

Summary

Create the frontend sign up page

Acceptance criteria

  • Link the sign-up page on the home screen
  • The sign-up page according to the design
    • The form is validated
  • Redirect to the sign-in page when successful

2-5-update a good giver

Summary

  • this issue is developed on a branch iii-item-put
  • update the data for a single good

Acceptance criteria

  • Create a backend route PUT /goods/{id}

Create a Good form/page

Create the page/form where a Giver can submit a Good

Screenshot 2021-05-17 at 18 25 14

Acceptance criteria

  • Entire create Good flow implemented
  • On submit of the form request to backend is triggered

1-3-a video section

  • this issue developed on a branch 1-landingpage
  • write the text of the speaker
  • add a video

4 - 1 Database connection on production

Summary

Figure out the database connection on production heroku

Acceptance criteria

  • Working database connection on the production instance
  • Instructions for the rest of the team how to set it up locally

6.1 login

This feature is developed in the branch 6-login

2-6-delete a good giver

Summary

  • this issue developed on a branch iii-item-delete

Acceptance criteria

  • Create a backend route DELETE /goods/{id}

2-4-create a good giver

Summary

  • this issue developed on a branch iii-item-post

Acceptance criteria

  • Create the backend route POST /good

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.