Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.9%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: lgaddy893
- License: mit
- Language: Python
- Default Branch: main
- Size: 6.06 MB
Statistics
- Stars: 0
- Watchers: 2
- Forks: 2
- Open Issues: 0
- Releases: 1
Metadata Files
README.md
Gifter-2

Description
Gifter-2 is a social platform built on the idea of gift giving and receiving! The goal of this application is to aid in the process of picking out a gift for friends. Users can create wishlists for themselves and add items/gifts that they would like to receive for their birthday. Users can proceed to add friends and view their wishlists as well. Gifter-2 also allows users to opt-in to email notifications which send a user's friends a reminder email regarding their upcoming birthday (if their email notifications are on as well). Items in the wishlists contain the cost of the item as well as the website where it can be purchased. This application is deployed on the web and is available for individuals of all ages to use!
To start using Gifter-2, a user must first register by creating an account. The system collects information about a user's name, birthday, email, and interests. All of this information is stored in Gifter-2's database, and is not used by Gifter-2 in any other way. This project is deployed on the web, click here to join Gifter-2!
Technologies
- Python
- StreamLit
- PostgreSQL
Features
All new features are in bold.
- Register as a user.
- Add, edit, and delete items from a wishlist.
- Add and remove friends from friendslist.
- Dashboard displaying friendlist with their associated wishlists.
- Significantly improved UI experience.
- Login using a username and password.
- Enhance registration feature by incorporating unique username validation, email, password etc.
- Search for friends using either their name or surname.
- Search for items using keywords.
- Send reminder emails for upcoming birthdays (if email notifications are on).
- Usage of PostgreSQL database to persist information.
- Application deployed to web. Link: http://35.175.148.139:8501/
Installation
You will need the following programs and packages installed on your local machine.
Programs:
- Python
- StreamLit
- PostgreSQL
- Anaconda Navigator
1) Install PostgreSQL following the official instruction: https://www.postgresql.org/download/
2) After PostgreSQL is installed, adding bin folder of PostgreSQL to PATH environment and running the command below.
createdb -h localhost -U postgres gifter2
3) The src/database.ini contains the configuration of the connection, within which the user name and password can be changed if it needs.
4) Use the command python src/DBInit.py to check whether PostgreSQL setup succeeded.
5) Setup and launch Anaconda Navigator.
6) Navigate to the location of the application and use the command streamlit run src/main.py.
Note: In order to use the "Email Notification" functionality for this project, your team must set up an Outlook email account, and add the username and password to the sendreminderemail() method in account.py. You cannot use Gmail for this feature because Google set up a new restriction this year that doesn't allow third-party apps to send emails from Gmail accounts.
Documentation
This project is a refactoring of the Gifter project from 2022. We have added several functionalities to significantly enhance the scope and user experience of this application.
- The video displaying the functionalities of the original project Gifter can be found here.
- The video displaying the new functionalities of Gifter-2 in comparison to the original project Gifter can be found here.
Use Cases
In order to learn more about how to run Gifter-2 and use its features, check out our USAGE.md file!
Documentation
In order to view documentation of the source code, click here.
Code Coverage
Gifter-2 uses CodeCov to generate the code coverage of the source code. Additionally, we use blackbox tests on the UI to supplement the coverage and ensure that the functionality works as expected.
Styling
Gifter-2 uses PyCodeStyle to maintain a standard of code quality.
Future Features
While Gifter-2 is ready for users, there are several enhancements that could be made to amplify user experience. Below, we have listed several scopes of future improvements to Gifter-2 with a brief description.
- Smart phone application: Create an application for mobile devices that allows users to use Gifter-2 on the go.
- APIs enhancement: Incorporate the use of APIs from larger e-commerce stores such as Amazon or Target.
- Machine Learning: Introduce machine learning algorithms to suggest gifts for users based on interests and previous gifts.
- Chrome extension: Create a Chrome extension so users can add items to their wishlist while browsing online.
- Calendar: Develop a calendar feature to display user birthdays.
- Change Password: Develop to feature that allows users to change their password.
Contribution
Please see the CONTRIBUTING.md for instructions on how to contribute to our repository.
License
This project is licensed under MIT.
Team Members
The team members who developed Gifter-2 are: * Huang-Xing (Jesse) Chen * Landon Gaddy * Li-Chia (Jerry) Chang * Saminur (Sami) Islam * Shruti Marota
We communicated via Discord and through weekly in-person meetings.

Owner
- Name: Landon Gaddy
- Login: lgaddy893
- Kind: user
- Repositories: 1
- Profile: https://github.com/lgaddy893
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.1.0
title: Gifter-2
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Shruti
family-names: Marota
email: smarota@ncsu.edu
affiliation: North Carolina State University
- given-names: Landon
family-names: Gaddy
email: rlgaddy@ncsu.edu
affiliation: North Carolina State University
- given-names: Huangxing
family-names: Chen
affiliation: North Carolina State University
- given-names: Saminur
family-names: Islam
email: sislam8@ncsu.edu
affiliation: North Carolina State University
- given-names: ' Li-Chia'
family-names: Chang
affiliation: North Carolina State University
version: 1.1.0
date-released: 12-01-2022
url: https://github.com/landog893/Gifter-2
GitHub Events
Total
Last Year
Dependencies
- actions/checkout main composite
- codecov/codecov-action v3 composite
- postgres latest docker
- actions/checkout v3 composite
- actions/setup-python v3 composite
- postgres latest docker
- numpy ==1.23.4
- pandas ==1.5.1
- psycopg2 ==2.9.5
- streamlit ==1.13.0