Coder Social home page Coder Social logo

my-covid-story / www Goto Github PK

View Code? Open in Web Editor NEW
8.0 2.0 5.0 99.45 MB

We are a group of concerned citizens who could no longer stand by as Ontario is led into a humanitarian crisis. We believe the power of storytelling is an effective means to drive government action.

Home Page: https://www.mycovidstory.ca

License: Creative Commons Zero v1.0 Universal

JavaScript 5.33% CSS 0.81% Shell 0.76% TypeScript 93.09%
covid-19 ontario activism vercel prisma docker stories

www's Issues

`format` command running on staging

Prettier / eslint is configured, but just need to add a command and wire it up to husky so that our commits are all nice and consistently formatted.

List all stories on /

  • API rework (to support server-side and client-side rendering)
  • Basic stories feed at /stories
  • More responsive layout
  • Background images (one from each category-based collection)
  • FSA to city mapping
  • Single story details at /stories:id
  • Navigation from feed to single story
  • Include name for display, but only if not anonymous

Improve story form field behaviour

  • Clear the contact fields (name, email, phone twitter) when the contact check is unchecked
  • When one of the optional contact fields has a value, display an optional label beside the other two.

Map postal code FSAs to city names

FSAs (the first three digits of a postal code) aren't meaningful to most users. It would be helpful to show the name of the city where that FSA resides.

Canada Post has an API, but it's intended for looking up a specific address and it has a per-call cost.

Wikipedia has the data, but it's spread out over 18 pages of HTML. I don't see any raw data. I suppose it would be possible to scrape the pages and assemble the data ourselves.

I also found this by Googling. I don't know if it's actually free or if it's any good, and I didn't create an account to try downloading.

Share card on iOS spacing

We need to add some bottom spacing on the share card and drawer so that the swipe between apps bar isn't super close to the floating ribbon or drawer contents

image

Update schema for SEO

Include the following schema into the head of the HTML page to aid in SEO

<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Organization", "name": "MyCovidStory", "alternateName": "MyCovidStory.ca", "url": "https://MyCovidStory.ca", "logo": "", "sameAs": [ "https://www.facebook.com/MyCovidStoryCA", "https://twitter.com/MyCOVIDStory_CA", "https://www.instagram.com/MyCovidStory_CA/", "https://github.com/my-covid-story/www", "https://MyCovidStory.ca" ] } </script>

Custom 404 page

We should have a custom 404 page rather than relying on the NextJS default

What about adding commitlint?

I think adding commitlint inside a new husky commit-msg hook would help in standardizing the commit messages and maybe even in creating an automatic changelog. There are plenty of tools for that, if you want I can open a PR for this.

Add Sharing Controls to Form Submission

Relies on #6

  • Where would you like your story to be shared? (Checkboxes)
  • What information would you like to share along with your story? (Checkboxes)
  • Can a journalist contact you for more information or an interview (Radio buttons)
  • If yes, please enter your preferred method of contact (text box)

Paginate story feed

We're getting to the point where we have enough stories that we should be paginating the feed page.

Automatically email stories to Premier & key cabinet personnel

As an MVP, we will first focus on...:

  • sending an email with the link to stories to premier + key cabinet personnel. Every story will trigger an email to these parties, for now (no curation)
  • Once a story has been sent, add a label on the story to say we have shared to the premier/key cabinet personnel.

All stories are shared, as long as the story is published and approved. Unlike sharing with media personnel, we only share the public facing link to the premier & cabinet (which is publicly accessible anyway).

`/story/[id]` - individual story view

Build out /story/[id] where [id] is the ccuid from the DB of the story. I think for now, we use getStaticPaths to statically generate each post.

As we grow, we can constrain the number that we pre-render at build time and use fallback: true to render the rest on-demand. The render is then cached for future visits.

Will this project be going global?

I'm an Italian student who had a very similar idea to the project you're developing and I would love to contribute and see it available globally, even outside Canada. Do you think it's something that could be done?

Adding multi language support

  • Introduce localization for the following languages - Urdu, Hindi, Punjabi. At this point in time, unless it is possible for us to get someone to translate all static fields for us, we will need to depend on translating the text using Google Translate at a minimum
  • Add a message on the story page to remind users that they are more than welcome to share their story even if it is not in English
  • Add in a link for users to be able to contact us to volunteer their support for translation (addressed in #102)

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.