This repo is archived. Please use https://github.com/DTS-STN/c19-benefits-node instead.
COVID-19 has had a severe financial impact on people living in Canada. The benefit landscape is hard to navigate and is changing quickly.
This product helps Canadians:
- Find existing and new individual benefits relevant to COVID-19,
- Anonymously answer a few simple questions to get a personalized list of benefits that could help them, and,
- Calculate how much financial assistance may be coming their way, and when, so they can plan accordingly.
Explore it here: https://covid-benefits.alpha.canada.ca.
Benefits and help included:
- Canada Emergency Response Benefit
- Canada Emergency Student Benefit (CESB)
- Work-Sharing
- Mortgage support
- Provincial help for renters
- Suspending repayment and interest on student and apprentice loans
- Canada Child Benefit
- One-time payments for OAS and GIS recipients
- Reduced minimum withdrawals for Registered Retirement Income Funds
- Financial aid for 2021 school year
- GST tax credit
This product is updated frequently. Notable updates are captured in the changelog.
This project is based on the CDS Node Starter and is built with:
- Node.js >= 10.x
- Express web framework
- Nunjucks view templates
- Sass (Syntactically Awesome Style Sheets) for reusable styles
- Tailwindcss a utility-first css framework for rapidly building custom designs
- PostCSS
- PurgeCSS
Clone this repository
git clone https://github.com/cds-snc/c19-benefits-node.git
Install dependencies
cd c19-benefits-node
npm i
Run in development mode:
npm run dev
Browse application on http://localhost:3000
There are some environment variables that can optionally be configured. You can see a list in .env.example
.
There is a .env.public
file with a few non-sensitive environment variables. These can be kept in this file, or overridden by passing values through the runtime environment.
DOMAIN_EN=
DOMAIN_FR=
LAST_UPDATED=
DOMAIN_EN
and DOMAIN_FR
will be used by the language switcher to swap domains when changing languages. If not provided, language switching will only affect the url path.
LAST_UPDATED
is used to display the Last Updated string on the Start screen.
There are Unit (Jest) and e2e (Cypress) tests available.
To run unit tests:
npm run test
To run Cypress tests:
npm run cypress:run:test
The feedback component can be configured to send results to either Notify or Airtable.
To send Feedback to an email address, you should configure the following environment variables:
NOTIFY_ENDPOINT=
NOTIFY_API_KEY=
FEEDBACK_EMAIL_TO=
To send Feedback to an Airtable base, you should configure the following environment variables:
AIRTABLE_API_KEY=
AIRTABLE_BASE_ID=
Your airtable base should contain a table named Feedback
with the following columns:
- date
- session
- version
- url
- problems
- language
When deploying this to a production environment, you can optionally load static assets from a CDN. To do this, configure the CDN_PREFIX
env variable. This should be the base url of the CDN where the assets are stored.
When referencing static assets (CSS, JS, images) in nunjucks templates, there is a helper available:
<img src="{{ asset('/img/sig-blk-en.svg') }}" alt="Government of Canada">
The asset()
helper will return the path to the asset prefixed by the CDN_PREFIX if available, otherwise it will return a local path.
La COVID-19 a provoqué de graves répercussions financières sur la population canadienne. Les multiples programmes d’aide disponibles sont difficiles à naviguer et changent souvent et rapidement.
Ce produit permet aux canadiens:
- De trouver les programmes d’aide récemment annoncés ou déjà existant pour les particuliers en lien à la COVID-19
- De recevoir une liste pertinente et personnalisé de prestations pouvant les aider et
- De prévoir le montant des prestations et le moment où ils recevront celles-ci, afin de mieux planifier leurs dépenses et obligations financières.
Consulter l’outil ici: https://covid-prestations.alpha.canada.ca.
Prestations et programmes d’aide compris:
- Prestation canadienne d’urgence (PCU)
- Prestation canadienne d'urgence pour les étudiants (PCUE)
- Travail partagé
- Soutien hypothécaire
- Aide provinciale pour les locataires
- Suspension du remboursement des prêts d'études et aux apprentis et des intérêts applicables
- Allocation canadienne pour enfants
- Paiement unique pour les personnes reçevant la pension SV et le SRG
- Réduction du retrait minimal des FERR
- Aide financière aux études pour l’année scolaire 2021
- Crédit pour la TPS
Ce produit est mis-à-jour fréquemment. Les changements majeurs apparaissent dans le journal des modifications (anglais seulement).
Ce projet est conçu sur la base CDS Node Starter et utilise les contributions suivantes :
- Node.js >= 10.x
- Environnement Web Express
- Gabarits Nunjucks
- Feuilles de styles Sass (Syntactically Awesome Style Sheets)
- Tailwindcss un environnement CSS modulaire accélérant la conception de pages web
- PostCSS
- PurgeCSS
Cloner ce référentiel
git clone https://github.com/cds-snc/c19-benefits-node.git
Installer les dépendances
cd c19-benefits-node
npm i
Exécuter en mode développement
npm run dev
Accéder à l’application au http://localhost:3000
Certaines valeurs d'environnement peuvent être configurés. Cette étape est optionnelle. Consultez la liste des valeurs disponibles dans .env.example
.
Le fichier .env.public
contient des variables d’environnement non-confidentielles. Ces valeurs peuvent être laissées telles-qu’elles, ou écrasées par par les variables d'environnement à l’exécution.
DOMAIN_EN=
DOMAIN_FR=
LAST_UPDATED=
DOMAIN_EN
et DOMAIN_FR
sont employées par le commutateur de langue afin d’échanger les domaines lorsque la langue passe du français à l’anglais, ou vice-versa. Si aucune valeur n’est donnée, le commutateur de langue n’affectera que le chemin de l’URL.
LAST_UPDATED
est employée pour afficher la valeur Last Updated sur l’écran du début.
Des test unitaires (Jest) et bout-à-bout (e2e Cypress) sont disponibles.
Pour exécuter les tests :
npm run test
Pour exécuter les tests Cypress :
npm run cypress:run:test
Le module de rétroaction peut être configuré pour être envoyé par Notify ou Airtable.
Pour envoyer la rétroaction à une adresse courriel, vous devez configurer les variables suivantes :
NOTIFY_ENDPOINT=
NOTIFY_API_KEY=
FEEDBACK_EMAIL_TO=
Pour envoyer la rétroaction à une base Airtable, vous devez configurer les variables suivantes :
AIRTABLE_API_KEY=
AIRTABLE_BASE_ID=
Votre base Airtable devrait contenir une table nommée Feedback
avec les colonnes suivantes :
- date
- session
- version
- url
- problems
- language
Lors du déploiement vers un environnement de production, vous pouvez optionnellement charger les ressources statiques à partir d’un CDN. Pour ce faire, vous devez configurer la variable d’environnement CDN_PREFIX
Celle-ci devrait être l’url de base du CDN où cette ressource est est stockée.
Pour lier des ressources statiques (CSS, JS, images) dans les gabarits nunjucks, vous pouvez utiliser la fonction d’aide suivante :
<img src="{{ asset('/img/sig-blk-en.svg') }}" alt="Government of Canada">
La fonction d’aide asset()
renvoie le chemin de ressources statiques définie par CDN_PREFIX,ou le chemin local si cette variable n’est pas définie.