covidarmy / frontend Goto Github PK
View Code? Open in Web Editor NEWThe frontend for covid.army
Home Page: https://covid.army
The frontend for covid.army
Home Page: https://covid.army
Currently we're not using any server state libraries like swr
or react-query
which can lead to unecessary refetching on rerenders.
Task: Implement SWR to manage server state
A Beta version of Fraud detection is live at: https://verifynum.herokuapp.com/
For the time being, untill we start rendering frauds in realtime, we could add a new option in our menu with name 'Resource Verifier (Beta)' hyperlinked to the above mentioned URL.
User should manually enter the number of the fraud he has encountered. This will create multiple sources of information and will help us in maintaining a clean list of resources.
Suggestions are welcomed!
Frontend scope:
Backend scope: TBD
Currently, the tweets are being fetched from the client. That can be fixed if we move the API calling to getStaticProps and use it as the default value on the state.
Create a dashboard which shows number of visitors per day, unique users, # of verified resources at any given instance and how it has increased over a period of time.
The change button creates a lot of friction. If someone's looking for oxygen leads they might also be looking for ICU beds and vice versa.
The all tab also serves as a "update check" page where the user can see when the tweets were last updated
If they go directly to a resource and see say in Remdesivir the last tweet came in 50 minutes ago, they would assume it's not updated and leave
Need to change and update the documentation and readme on FE repo
The new change in persistent filters blocks half of the screen on small screen phones. When the user scrolls up, the navbar and city sections should scroll up along with it too so that it frees up some space for showing the tweets. Scrolling down will bring the navbar and city screen back.
Attaching a video of the same issue.
Change "Our Team" to "Our Volunteers"
Remove "Let's meet with our team members"
We should persist filters, though we are redirecting to a page for every resource city combination usually, people would only remember the URL which is covid.army
, if they see their filters reset then it would cause more anger and panic
Change Spelling of Allahbad to Allahabad on both frontend and backend API.
Users should be able to give us feedback regarding the leads being shown on the website so we can refine our dataset.
We can have the following prompts on the frontend. These prompts can pop up when user clicks the phone number being shown in the lead and goes to the teleprompting screen. Once they come back we can show these in the popup.
Helpful: if they pick up and say that they have stock
Unresponsive: if the number is out of reach, busy or did not pick up
Out Of Stock: if they don’t have any more of the resource type available
Invalid: if the number is wrong and they are not providing the selected resource type
Updated Resources List:
https://github.com/covidarmy/backend/blob/dev/data/resources.json
Currently we only have ~30 locations that are displayed on the frontend. However, the location list on the backend is being updated to support 1400 locations and it is not feasible to display all 1400 locations on the screen.
Task: Implement more accurate fuzzy search so less results show up for certain combinations to avoid using the entire screen space.
The end user should be able to switch between Hindi and English. Internationalization can be implemented either using Next's inbuilt i18n routing or react-i18next.
The downside with Next's i18n routing is that it is routing based so there will be separate links for /en
and /hi
.
Remove the word collectively
in the first line of the disclaimer
“Please beware of fraudsters”.
Sample Response Object:
{
phone: [
"8860687002"
],
email: [ ],
_id: "609836eb33300904cbdd19bd",
__v: 0,
category: "oxygen",
city: "Delhi",
createdAt: "2021-05-07T17:21:00.899Z",
created_by: "ThinkTink - Covid Help",
created_on: 1620566031000,
district: "Delhi",
last_verified_on: null,
resource_type: "Oxygen Cylinder",
state: "Delhi",
updatedAt: "2021-05-09T13:14:01.358Z",
verification_status: "Verified",
tweet_id: "1391380897530789891",
tweet_url: "https://twitter.com/ThinkTinkAcad/status/1391380897530789891",
author_id: "1294376827058712577",
text: "7 L OXYGEN CONCENTRATOR AVAILABLE in #Delhi Contact: 8860687002 ✅Verified by volunteer at 6:15pm 9 May #Delhi #OxygenConcentrator #Covid19IndiaHelp",
likes: 0,
retweets: 0,
author_followers: 356,
manual_parsing_required: false
}
We should start inviting devs to contribute and share feedback here. Open communication would help prevent more distributed resources.
We need to give credit to Vercel in order to get a sponsored account from them for being an open source project.
Instructions on what needs to be done can be found here
Currently users get confused because we show the choose location and choose resource containers on first load itself. To reduce complexity the user should only see "select location" container first and should only be shown the resource selection tab after location has been selected.
Additionally, we could also fetch user location via GPS on the user's device. However, this would require us to somehow match the user's coordinates with the locations available in our list.
Context:
Currently majority of the icons are SVG, ex: Search Icon, Down Icon, etc.
And these SVG are directly inserted inside the respective component, ex: LocationFilter
has 2-3 svg component inside its return statement
Problem:
Acceptance Criteria:
Add a report button to each tweet which is rendered, which on clicking will send data to an EndPoint which will then parse the tweet and add the numbers present to fraud list.
It would make sense for users to be able to add our application on their home screen, and get added benefits like maybe being able to send native notification updates and add offline functionality.
Since our stack is already nextjs based. We should look into next-seo to add pwa support rather than building it from scratch. Suggestions open!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.