Giter Club home page Giter Club logo

vaccine-availability-notifications's Issues

Test Harness for API

In order to allow others to develop the backend of for this project there needs to be a test harness that integrates with a local DynamoDB Docker container.

Add ability to send an email to manage your preferences from the website

Ability to send an email to manage your preferences from the website

@nplutt It looks like you're using SES? Is that the tool you were planning to use for the incoming message and then I could work on a Lambda to process it for this task? Is there a dev environment or steps I should know about to run the API locally beyond chalice local?

Add navigation header

Add navigation header to the website so that users can navigate from the home page to the preferences page and vice versa.

@nplutt I'm willing to help out. This was the first on your list, but let me know if I should grab something else.

Preferences page infinitely loads if token is not passed in url query string

Problem

When going to the preferences page without using the link from the sign up email it infinitely loads

Expected

Detects that token is missing and either prompts to go to your confirmation email and click the button that links with the token included in the URL or have a secure way to get a token using your email address without having to find the confirmation email

How to reproduce

Go to https://covid-vaccine-notifications.org/preferences without a token in the URL query string

Notes

A quick fix to at least return an error would be adding a check for the token before calling the API in the UI

    async componentDidMount() {
        let params = (new URL(window.location.href)).searchParams;
        let token = params.get('token');
        if (token) {
            // rest of the code

or have the API catch and send an error back to get into the catch block

(or both)

@nplutt

Don't Send Emails to Users After 21 Days

If a user hasn't updated their profile in the past 21 days, they should no longer be notified of new vaccine appointments. The reason being, that after 21 days one of the two things has probably happened:

  1. The user has been able to book an appointment and the vaccine appointment emails are unwanted and become annoying
  2. The emails were never reaching the user or they were being sent to their junk mail

The easiest way to do this would be to filter users out on the backend in the find_users_to_notify_for_location method before sending the emails to them.

This could also be done by setting a TTL on the user's updated_at attribute in DynamoDB but since the Terraform isn't in this repo yet, we'll hold off on that for now.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.