Giter VIP home page Giter VIP logo

app's People

Contributors

dependabot[bot] avatar janmande avatar jessluo8 avatar kronchusa avatar maazbaig avatar mauricioso avatar mrsimsek avatar prescottprue avatar thebitguru avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

app's Issues

Restructuring the project react specific

I am suggesting a restructuring of our project. This is only related to the src folder

Current:

  • Src
    • components
      Holds the screens/pages
    • modules
      Holds the reducers & auth

Proposed:

  • Src
    • components
      Holds reusable UI components
    • views
      Holds the screens/pages
    • store
      holds the redux store
    • modules
      holds other modules

I can do it and submit a pr by 10PM IST March 18.

Create tests for the request workflow

We need to add cypress tests for the following:

  1. Request acceptance
  2. Request release
  3. Request completion
  4. Add admin comment on a request
  5. Add private comment on a request

Create notification email template

One of the immediate needs is to send out notification emails to volunteers for open requests. We are still analyzing the initial approach as part of #49, but our initial vision is to check every 5 hours and send a notification email to volunteers for open requests. The notification email will include the following sections.

  1. Open requests near you: this section will include up to 15 open needs within a 60 mile radius, ordered by the distance from the individual volunteer.

  2. Open requests farther away: this section will include up to 5 open needs that are farther away, ordered by the distance from the volunteer. The intention here is to request help with either finding more volunteers or organizations who might be able to assist.

  3. Simple informational text about the upcoming feature to snooze or turn off these notification emails.

Convert the contact page to an actual form

We need to convert the contact page to an actual React form. It should have the following fields and add to the contacts collections in Firebase.

  1. Name
  2. Email
  3. Phone - optional
  4. Organization - optional
  5. Message

Furthermore, it should also email the administrators on submission. The project uses the Trigger Email extension so emailing requires adding a new document to the mail collection.

@prescottprue, can you please update this with the collection where you were suggesting saving the admin emails?

Please note that all new development is now being done on the next branch which will be going live in the coming days. Please branch off of it if working on this task.

Make the login/sign up page more friendly

The current login page is used as both a sign up and a login page. This can be confusing for new users. We need to break this up into two sections (or steps/pages), one for login and one for sign up. Ideally, the sign up page would account for the volunteer information as well.

Add the additional menu entries

We need to add the following additional menu entries to the main App Bar (see App.js). Please add the buttons and ensure responsiveness.

image

Create the search results API

GET /needs?location=x,y&distance=number&units=mi|km

units can be "mi" (miles) or "km" (kilometers), default to "mi".

Returns an array of needs/requests.

Draft the update email for the volunteers

Quick stats
Attach Flyer and request handing it out - Steve Knurr might be working on this already
Mention improvements
Explain the upcoming notification improvements

Fix firestore rules

Now that we pushed out the next branch live, we need to make the firestore rules more secure.

Incorporate Redux

We need to incorporate Redux and follow the ducks/modules pattern.

Create the blog section

The source files is hosted in a github repo/github page and have the following format.

The index file will be index.json and have the following format. It will return the blog entries in the needed order. Let's not worry about pagination in the first iteration.

[{
	id: “random-id-here”,
	createdAt: “ISO-8601 timestamp”,
	title: “First Entry”,
	author: “Farhan Ahmad”,
	slug: “first-entry”,
	summary: “A quick description for the listing page.”
}, ...]

The individual entry files will are named entry-{slug}.json and will have the following format.

{
	id: “random-id-here”,
	createdAt: “ISO-8601 timestamp”,
	title: “First Entry”,
	author: “Farhan Ahmad”,
	slug: “first-entry”,
	summary: “A quick description for the listing page.”,
	html: “JSON-escaped HTML”
}

Examples:
https://cv19assist.github.io/blog/index.json
https://cv19assist.github.io/blog/entry-first-entry.json

Site Functionality

The above should result in the following routes on the front end.

/blog — Listing page
/blog/<slug> — Specific blog entry

Feel free to see the source blog repo if you are curious about the generation process.

Get email notifications ready for general rollout

We need the following changes to get the notifications ready for general rollout.

  1. Do not send out emails when there are no requests.
  2. Simplify email templates (remove all the Mailchimp tags), confirm that the template is functioning properly (null values, etc.) and update copy.
  3. Enhance the FCM notification to display the requester firstName and generic location. Confirm that clicking on the notification takes to the request page.
  4. Remove the user filter so all users start getting the notifications.

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.