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.
- Aransa Garcia (Program Manager)
- Joseph P. Pasaoa (Tech Lead)
- Kathy Puma (PR Review)
- Sergio Salama (UX/UI)
* Pursuit 6.2 Hackathon's MOST IMPACTFUL AWARD Winner *
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.
- Technologies Implemented
- Setup
- Developer's To Dos
- Frontend Wireframes
- Database Schema
- Server Endpoints
- Presentation Slides
- LEAD Instructor: Alejandro Franco
- IA: Jung Rae Jang
- IA: Wynter Reid
- Program Manager: Dessa Shepherd
- Mentor: Robert Abreu
- Uber Tech Advisor: Prateek Arora
- Percy Hicks -- EclecticLifestyleByPercyHicks (Instagram)
- Isabella Montoya Paz -- PazLifestyle
- Van Tran -- Van Tran | Sport Elle Inc
- Lisa Vastola -- Lisa Vastola | Republic Clothing Group
- 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
-
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:
- Materials Research Dashboard
- Styling Consistency
- Mobile Device Responsiveness
- Further Bootstrap Integration
- Encrypted User-Auth
-
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
-
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
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).