Skip to content

slendyduck/csc207-project

Repository files navigation

SmartNews: AI News Digest

Contributors

Ali Elbadrawy - alihosam-dev

Jakub Jakuszewski - slendyduck

Chet Petro - chetpetro

Dimitar Toshev - toshoboss

Hriday Chhaochharia - hridaychh

Table of Contents

Purpose

  • What it does:

    • Allows users to enter keywords and receive relevant news articles.
    • Generates concise summaries of these news articles with AI.
    • Users can save or share the summarized articles via email.
  • Why it was made:

    • To address the challenge of information overload.
    • Helps users quickly stay updated on important news without sifting through long articles.
  • What problem it solves:

    • Saves time by providing relevant, easy-to-digest summaries.
    • Makes it easier for users to stay informed and share news with others.

Software Features

Keyword-Based Article Summaries

  • Enter keywords (e.g., "technology", "health", etc.) and press generate. The app will fetch relevant news articles from the web and generate a concise, easy-to-read summary of each article.

Save Summaries for Later

  • Users can save the generated summarized articles for later reading by pressing the save button. This feature is helpful for revisiting important articles or keeping a record of the summaries.

Share Summaries via Email

  • Users can share the generated summarized articles directly via email, making it easy to send key news to friends, family, or colleagues.

Installation Instructions

  • Clone the Project from GitHub to your local repository.
  • Create a .env file in the project directory.
  • Fill in the correct environment variables in the .env file corresponding to the .env.template file. (You can find temporary .env files here)
  • Make sure all maven dependencies are installed if they have not been installed automatically.

Usage Guide

  • Navigate to src/main/java/app/MainApplication.java and run the file.
  • A browser tab will open on your computer asking you to log in to a Gmail account. Log in with the following credentials:
  • Agree to the requested permissions displayed on the browser.
  • The browser will then display that the user may continue back to the application. Open the application window.
  • Click here for a visual guide.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Feedback

  • Fill out this Google Form to submit feedback the project maintainers.

Contributions

  • How to Contribute:
    • Fork this Repository (click here for instructions on how to do this).
    • Clone your fork using git clone. Create a new branch, make your changes, and commit.
    • Push your changes to GitHub, and crate a pull request (PR) (click here for instructions on how to do this).
  • Guidelines for Pull Requests:
    • Adhere to Clean Architecture and SOLID design principles.
    • Use the Checkstyle plugin to highlight all style issues and address them.
    • Provide a detailed description of what your PR accomplishes, what it has changed, and why it is valuable.
    • PR should only add one feature.
  • Review Protocol:
    • A project maintainer will review your PR, comment on any necessary features, and then choose to either approve your PR, make changes to your PR, or deny your PR.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages