Emerald Chip brings about the shift that e-waste recycling has needed: to bring the process closer to the donors. The platform aims to remove knowledge and logistical barriers to this problem by educating donors and connecting them to proper e-waste processing outlets.
- Ana Almonte: Full-stack Developer
- Braily Guzman: Full-stack, Designer
- Raffy Castillo: Lead, Developer, Designer
Overview Tab
Donations Tab
Events Tab
Facilities Tab
Profile Modal
Auth

Before you can actually start building, you need to create a database and configure your server's environment variables to connect with it.
- Create a database with a name of your choice.
- In the
server/folder, copy the.env.templateand name it.env. - Update the
.envvariables to match your Postgres database information (username, password, database name) - Replace the
SESSION_SECRETvalue with your own random string. This is used to encrypt the cookie'suserIdvalue.- Use a tool like https://randomkeygen.com/ to help generate the secret.
- Your
.envfile should look something like this:
# Replace these variables with your Postgres server information
# These values are used by knexfile.js to connect to your postgres server
PG_HOST='127.0.0.1'
PG_PORT=5432
PG_USER='postgres'
PG_PASS='postgres'
PG_DB='emeraldchip'
# Replace session secret with your own random string!
# This is used by handleCookieSessions to hash your cookie data
SESSION_SECRET=''
# When you deploy your database on render, this string can be used to test SQL queries to the deployed database.
# Leave this value blank until you deploy your database.
PG_CONNECTION_STRING=''
# AWS S3 Bucket
AWS_ACCESS_KEY=''
AWS_SECRET_KEY=''
AWS_S3_REGION=''
AWS_S3_BUCKET_NAME=''To simplify local development, you can use Docker to containerize the application. Follow the steps below to build and run the project using Docker and Docker Compose.
Ensure you have the following installed:
From the root directory of the project, build the image:
docker build -t emeraldchip .Note: -t emeraldchip tags the image for easier reference.
Use docker-compose to start both the backend server and the database services:
docker-compose upOnce the containers are up and running, access the app at:
http://localhost:3000(Default port may vary depending on the environment variables)
From within the root directory, run the following commands to install dependencies and run the project locally:
# Build Command — install dependencies, build the static assets, and run migrations/seeds
cd frontend && npm i && npm run build && cd ../server && npm i && npm run migrate && npm run seed && cd ..
# Start Command
cd server && npm startFrontend
- ReactJS
- JS, CSS, HTML
Backend
- NodeJS
- ExpressJS
- KnexJS
- PostgresQL
Infrastructure
Third-party API
- Google Gemini API
- AWS S3
- AWS RDS
See PROPOSAL.md for more details on the project proposal.
See CONTRIBUTING.md for contribution guidelines.
This project adheres to the Airbnb Style Guide.