lgaddy893 / Gifter-2

MIT License
0 stars 2 forks source link

Gifter-2

DOI License codecov java size lang contrib issue op issue cl pull pull_closed GitHub forks workflow


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 anaconda

  • Python
  • StreamLit
  • PostgreSQL

Features

All new features are in bold.

Installation

You will need the following programs and packages installed on your local machine.

Programs:

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 send_reminder_email() 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.

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.

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:

We communicated via Discord and through weekly in-person meetings.

Screenshot (531)