All Projects → sharemycart → sharemycart

sharemycart / sharemycart

Licence: AGPL-3.0 license
Fight Corona virus by collaborative isolation: Buy your groceries along with your neighbors

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects
shell
77523 projects

Projects that are alternatives of or similar to sharemycart

materialize-social
Social Login Buttons for MaterializeCSS
Stars: ✭ 50 (+177.78%)
Mutual labels:  social
COVID breakdown
COVID-19 statistics in Taiwan
Stars: ✭ 15 (-16.67%)
Mutual labels:  coronavirus
go-coronanet
Go implementation of the Corona Network
Stars: ✭ 35 (+94.44%)
Mutual labels:  social
coronavirus-dashboard-api-R-sdk
Coronavirus (COVID-19) in the UK - API Service SDK for R
Stars: ✭ 23 (+27.78%)
Mutual labels:  coronavirus
FaceMaskDetector
Real time face-mask detection using Deep Learning and OpenCV
Stars: ✭ 106 (+488.89%)
Mutual labels:  coronavirus
COVIDvu
Volunteers building and sharing current, accurate, near real-time COVID-19 tracking and prediction tools.
Stars: ✭ 15 (-16.67%)
Mutual labels:  coronavirus
coronainfobd
Real-time corona-virus tracker of Bangladesh 🇧🇩 which includes latest updates, data visualization, public awareness from WHO and some advice to aware people. 🥰❤
Stars: ✭ 46 (+155.56%)
Mutual labels:  coronavirus
CoronaDash
COVID-19 spread shiny dashboard with a forecasting model, countries' trajectories graphs, and cluster analysis tools
Stars: ✭ 20 (+11.11%)
Mutual labels:  coronavirus
social
A simple social media using MEAN Stack. Frontend: Angular 6.
Stars: ✭ 13 (-27.78%)
Mutual labels:  social
web-coronavirus-stats
🌎 🦠 😷 Coronavirus disease (COVID-2019) global / world / country statistics and reports
Stars: ✭ 2 (-88.89%)
Mutual labels:  coronavirus
okuna-web
🌈 Okuna for the web.
Stars: ✭ 65 (+261.11%)
Mutual labels:  social
CoWin-Vaccine-Notifier
Automated Python Script to retrieve vaccine slots availability and get notified when a slot is available.
Stars: ✭ 102 (+466.67%)
Mutual labels:  coronavirus
ts-ui
Telar Social Network using Reactjs
Stars: ✭ 35 (+94.44%)
Mutual labels:  social
UserFinder
OSINT tool for finding profiles by username
Stars: ✭ 379 (+2005.56%)
Mutual labels:  social
Mexico-COVID-19
Base de datos de los casos de COVID-19 reportados en México. Database of the cases of COVID-19 reported in Mexico.
Stars: ✭ 71 (+294.44%)
Mutual labels:  coronavirus
covidAPI
Coronavirus API for Current cases by country COVID-19
Stars: ✭ 600 (+3233.33%)
Mutual labels:  coronavirus
react-native-social-buttons
Declarative social button components for React Native.
Stars: ✭ 30 (+66.67%)
Mutual labels:  social
Co-ronaBD.info
Interactive Dashboard of Bangladesh for the Covid-19 Pandemic
Stars: ✭ 28 (+55.56%)
Mutual labels:  coronavirus
COVID19-taiwan
Release COVID-19 (SARS-CoV-2) FDA / NHI drugs screening results.
Stars: ✭ 24 (+33.33%)
Mutual labels:  coronavirus
jfinal-justauth-demo
Jfinal集成JustAuth的demo
Stars: ✭ 26 (+44.44%)
Mutual labels:  social

What's in this repo

Hybrid client for Share My Cart for Web, iOS, Android

Motivation

tl;dr: An app for collaborative neighborhood groceries shopping, so we can stay contained and help not spread viruses

Isolation is key to not spreading the virus. Whether it's because we're locked down, because we feel sick or because we simply put ourselves in a home-quarantine: We need to reduce public movement.

Buying groceries is something we all need to do from time to time. I'll be out probably on Friday. I'll make a shopping list, I'll order it so that I spend as few time as possible in-store, I'll buy only necessary stuff, not more than I need for my family for the week. It would be easy for me to add another item for my neighbours if I only knew they also need the same stuff - and it would enable them to stay home.

It's really a simple process which is a (small) solution to a universal problem worldwide.

Current state

This project is in a very early stage. It's 2020, March 18 and Sars-Cov-2 is spreading like crazy in Europe. Though this project sounds a bit miniscule (and maybe even ridiculous compared to other initiatives like 3D-printing respirator valves for those already fighting death ), but it's something for the better. And it's something I can do.

A fist website (in German) is online at sharemycart.com.

How to contribute

So you really would like to join? Awesome! Have a look at the issues, best start with the epics. There is also an issue board outlining the next todos Then, you can get in tough with the very new team on a channel on the open Rocket.Chat server

Getting started as a developer

The UI is implemented using Ionic Framework. For the backend Firebase is used.

DB and backend

The current implementation, Firebase's Firestore is being used. Firestore supplies mechanisms for reactivity and grants maximal freedom due to being hosted and scaled by Google.

Firestore also allows for implementing functions in Golang. This is what we currently call the backend.

Client side

The client is implemented using the Ionic framework and React. Since the DB side is schema-less, the client also comprises a larger part which is responsible for data binding and business logic:

Firestore and the backend functions are consumed in the "client side backend", which is responsible for providing data access to the frontend:

  • The firebaseService provides low-level functions wrapping the firestore API. It ensures the schema and could (and will in future) be provided by server-side functions. The firebase service is only intended to be used from the models.
  • The models are React components which can be used as superclasses of the pages displayed on the UI. They hook into the React component lifecycle in order to set up listeners to the database which in turn fill the stores. Also, they provide handlers for business functions, wrapping the firebase services.
  • The stores provide singleton caches of the data retrieved from the database. They can be injected into every component which needs it.

The UI components are implemented in React using the Ionic library for react

How to best understand the current code base

The current code is based upon the awesome React + Firebase + MobX Tutorial ❤️ by @rwieruch

You can start from the tutorial. You like to get into the code quickly? Then ou are probably best off by launching the app from the ui folder using npm start. Be sure you provided the credentials either as environment variables. For local development, .env-development is being used. You need to adapt the .env.development to your firebase credentials and add an .env.development.local with the API-key (REACT_APP_BACKEND_API_KEY="AIz...0S8").

Then, open VSCode and add a breakpoint in a UI-component, e.g. App. Launch the Chrome using the launch target  .

You are not a coder but still want to help Even more great! Check the issues, comment on epics, write own ideas, join the chat. Looking forward to reading from you.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].