A web-based application to encourage Canadians to practice environmentally-friendly habits with an incentive program, allowing users to complete recurring tasks while competing with one another to collect points for reward redemption.
David Cho | Gin Lu | Sohee Hwang |
Hi, my name is David. I like the environment. | Hi, my name is Gin. I am looking forward to the outcome of this project. | Hi, my name is Sohee. This project is interesting. |
Installation:
- Download this entire project folder and navigate to the root folder using Command Prompt or Terminal.
git clone https://github.com/gdcho/1800_202310_BBY10
- Install node.js by running this in Command Prompt or Terminal
npm install -g npm (Mac)
npm install express (Windows)
- Check to make sure node was installed successfully
node -v
- Check to make sure npm was installed successfully
npm -v
- Navigate to the root folder for this app and run this in Command Prompt or Terminal
node node.js
- Open a web browser and type this in the address bar
localhost:8000 or 127.0.0.1:8000
Instructions:
- Create an account or login with your existing credentials.
- Update profile information on profile page.
- Browse through the tasks list and select tasks to complete.
- Upload proof of completion for each task to earn points.
- Browse through the rewards and select a reward to redeem.
Here are some known bugs:
- Task completion loophole by uploading an image with keyword.
- Task refreshes on reload rather being updating every 24 hours.
What we'd like to build in the future:
- Communities and forums for users to share their eco-actions for the day.
- Implementing OpenAI 4.0 API for task image recognition.
- Connect notification settings to mobile.
Top level of project folder:
/1800_202310_BBY10
βββ app # Firebase and HTML files
βββ public # CSS, JS, and img files
βββ text # Navbar and footer files
βββ .gitignore # Git ignore file
βββ README.md # Project description
βββ node.js # Serves the website on Port 8000
βββ package-lock.json # JSON files
βββ package.json # JSON files
It has the following subfolders and files:
βββ app/ # Firebase and HTML files
β βββ firebase # Firebase initialization
β βββ html # HTML files
β
βββ public/ # CSS, JS, and img files
β βββ css # CSS files
β βββ img # img files
β βββ js # JS files
β
βββ text/ # HTML files for footer and nav
βββ footer.html # footer for web
βββ footer_after_login.html # footer for web after login
βββ nav_after_login.html # navigation after login
βββ nav_before_login.html # navigation before login
βββ nav_mobile.html # footer for mobile after login