Skip to content

LeonCChen/smart-report

 
 

Repository files navigation

The Smart Report

Introduction

Many people today obsessively check the news. They rotate between websites and doomscroll on Twitter. Some people try to escape the cycle by performing a "digital purge." But this can disconnect them from the news entirely. There needs to be something in between the endless checking of sites and tossing out one's phone.

Our solution is to provide a service that aggregates an individual's favorite news sources into a short newsletter delivered by email daily or weekly. This would give people a way to control how often they check the news, and save them time spent flipping between websites. Users would be able to opt-in to machine learning which would tailor which stories are sent to them based on what kind of stories they click on.

Functions

List all the functions with their sub functions of your application.

  1. Manage Account
    • Create User Account
    • Edit User Account
    • Login to User Account
  2. Manage News Sources
    • Edit News Sources
    • Personalize newsletters based on links clicked (opt-in)
    • Set Frequency of Newsletter
  3. Newsletter Management
    • Send Newsletter
    • Read News Sources

Getting Started

Installation and Setup

DataBase

  1. Install MaraiDB on Ubuntu 20.04

  2. Review SQL Commands

  3. Run DB_Create_Script In Repo Manage Database

     > mysql [username] -p [password]
     > CREATE DATABASE [Database Name];
     > Use [Database Name];
     > # Copy and Paste the Database_Creation_Script.txt;
    
  4. Expose DataBase

  5. Some Useful Commands for MariaDB/MySQL to Know

     > mysqladmin -u admin -p version - LOGS INTO THE DATBASE
     > CREATE DATABASE `birthdays`; - CREATES THE DATABASE WITH THE NAME `birthday`
     > use [database]; - USE THE DATABASE
     > show [database]; - LIST ALL THE DATABASE
     > show tables; - SHOW TABLES IN THE DATABASE
     > show columns from [tbl_name]; - SHOW THE COLUMNS TABLE NAME
    

Netlify For Hosting the Site

  1. Create Netlify Account
  2. Deploy the Website on Nelify
  3. Add Env Variables
    • DATABASE (Name of Database)
    • USERNAME (Username of User Accessing Account)
    • PASSWORD (Password of the User)
    • HOSTNAME (IP Address of the Database)

Mailchimp Transactional Email - Setup Email Sending

  1. Create Mailchimp Account
  2. Purchase a Mailchimp Transactional Email Plan
  3. Setup and Verify a sending domain
    • Verify Ownership of Sending Domain via confirmation email
    • Edit DKIM Settings and SPF Settings
  4. Generate a new API Key
  5. Test connectivity to the Mailchimp Transactional API
  6. Send Emails (And More)

Demo video

Team Members - Roles

Credit

About

Aggregates news feeds into daily and weekly newsletters

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 44.7%
  • JavaScript 38.0%
  • CSS 16.6%
  • HTML 0.7%