Skip to content

Greenlist is a full-PERN-stack registry, directory, and forum app aimed to empower fashion designers be part of the fashion sustainability movement and find providers and suppliers of green materials, as well as to serve as a networking community for material reclaim.

Notifications You must be signed in to change notification settings

joseph-p-pasaoa/greenlist__FSWeb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Greenlist (a full-stack solution)

Greenlist is an official registry, directory, and forum for designers and brands to find suppliers of green materials, as well as be a major networking vessel for material reclaim.

Developers

* Pursuit 6.2 Hackathon's MOST IMPACTFUL AWARD Winner *

screen capture of Welcome page

Designers, especially independent and small designers, lack a centralized resource to find, research, and even discover eco-friendly sustainable materials they can use.

Greenlist can be implemented sooner rather than later into the fashion ecosystem and it would fill a large gap in the workflow of independent designers and small businesses.


Table of Contents

Instructional Team

Industry Advisors


Developers' Notes

I. Technologies Implemented

  • PostgreSQL 12.1
  • Express.js 4.16.1
  • React 16.13.0
  • React/Redux 7.2.0
  • Redux 4.0.5
  • React Router Web 5.1.2
  • Pg-promise 10.4.4
  • Axios 0.19.2
  • Bootstrap 4.4.1
  • React Bootstrap Carousel 4.0.3
  • Multer 1.4.2
  • Node.js 13.8.0
  • JavaScript ES5+
  • CSS3
  • HTML5
  • Git / Github

II. Setup

  • To run GREENLIST, first instantiate and seed the PostgresQL database from the root:

    $ psql -f database/greenlist_registry_db.sql
    
  • Second, install and run the backend locally using npm:

    $ cd backend
    $ npm install
    $ npm start
    
  • And lastly in a second instance, install and run the frontend locally using npm:

    $ cd ../../frontend
    $ npm install
    $ npm start
    
  • GREENLIST will then be found in browser at:

    http://localhost:12000/

III. Developers' To Dos

  • Materials Research Dashboard
  • Styling Consistency
  • Mobile Device Responsiveness
  • Further Bootstrap Integration
  • Encrypted User-Auth

IV. Frontend Wireframes

Wireframes PDF


V. Database Schema

database schema

  • Creators

    • id
    • username - Unique, Not Null
    • firstname - Not Null
    • lastname - Not Null
    • password - Not Null
    • about
    • avatar_url
    • phone_number
    • email - Unique, Not Null
    • website_url
    • address
  • Resourcers

    • id
    • company - Unique, Not Null
    • password - Not Null
    • about
    • avatar_url
    • phone_number
    • email - Unique, Not Null
    • website_url
    • address
  • Materials

    • id
    • name - Not Null
    • description - Not Null
    • photo_url
  • Products

    • id
    • name - Not Null
    • body - Not Null
    • resourcers_id - References Resourcers + On Delete Cascade
    • material_id - References Materials
  • Reclaims

    • id
    • name - Not Null
    • quantity_num - Not Null
    • quantity_label - Not Null
    • time_created
    • body - Not Null
    • composition - Not Null
    • creator_id - References Creators + On Delete Cascade
    • is_need - Boolean
  • Photos

    • id
    • photo_url - Not Null
    • reclaim_id - References Reclaims + On Delete Cascade

VI. Server Endpoints

  • Creators

    Method Endpoint Description Body Data
    GET /creators Get all creators n/a
    GET /creators/:id Get single creator by id n/a
    POST /creators/add Add new creator username, firstname, lastname, password, avatar_url, phone_number, address, email, website_url, about
    PATCH /creators/edit Update creator Info username, firstname, lastname, password, avatar_url, phone_number, address, email, website_url, about
  • Resourcers

    Method Endpoint Description Body Data
    GET /resourcers Get all resourcers n/a
    GET /resourcers/:id Get single resourcer by id n/a
    POST /resourcers/add Add new resourcers company_name, avatar_url, about, password, phone_number, address, email, website_url
    PATCH /resourcers/edit Update creator Info username, avatar_url, about, phone_number, address, email, website_url, about
  • Products

    Method Endpoint Description BodyData
    GET /products Get all products n/a
    GET /products/:resourcer_id Get product by resourcer ID n/a
    POST /products/add ADD new Product name, body, resourcer_id, material_id
    DELETE /products/delete/:id Delete single product by ID n/a
  • Reclaims

    Method Endpoint Description BodyData
    GET /reclaims Get all reclaims n/a
    GET /reclaims/:resourcer_id Add new reclaim n/a
    POST /reclaims/add ADD new reclaim name, body, composition, quantity_num, quantity_label, time_created, creator_id, is_need
    DELETE /reclaims/delete/:id Delete reclaim product by ID n/a
  • Materials

    Method Endpoint Description Body Data
    GET /materials Get all materials n/a
    GET /materials/:id get all by ID n/a
  • Photos

    Method Endpoint Description Body Data
    GET /photos Get all photos n/a
    GET /photos/:reclaim_id Get all by reclaim_id n/a
    POST /photos/add/ Add new photo photo_url, reclaim_id
    DELETE /photos/delete/:id Delete photo n/a

VII. Presentation Slides

Presentation PDF



Note: Archived Frontend Repo - This repo was formerly only the backend repo before we combined both front and back into one. The original, now archived, front end repo can be found at: greenlistRegistry_front__Web (archived).

About

Greenlist is a full-PERN-stack registry, directory, and forum app aimed to empower fashion designers be part of the fashion sustainability movement and find providers and suppliers of green materials, as well as to serve as a networking community for material reclaim.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •