Wincorona is an application developed for non profit during the 2nd phase of covid in India when there was a scarcity of oxygen, blood plasma and people were sharing information about oxygen and blood supplier over social media and it was really hard to keep track of those information. This app is design to solve that problem. The application allows to get information related to required items using pincode. Anyone can use their pincode and search oxygen, blood plasma etc and if the information is available it will be shown in the results. If users are not satisfied with the results then they can post in the ask for help section.
Deployed Production Link - Live URL
Documentation generated using Postman - API Documentation
- Get an oxygen supplier, blood plasma donor, etc. just by entering your pin code.
- Post for Help in Public if not satisfied with the search result.
- Register and log in to become an active contributor.
- Contribute by posting information about oxygen suppliers, blood plasma donors, etc. to help others.
- Help others who are asking for help
Frontned : React.js
Additional Libraries
- Material UI
- Axios
- React Router DOM
- React Toast Notification
- JSON Web Token
Backend : Node.js
Additional Libraries
- Axios
- Bcrypt JS
- Body Parser
- CORS
- Express
- Express Validator
- Google APIs
- Mongoose
- Morgan
- Multer
- Nodemailer
Language: TypeScript
Database: MongoDB
Authentication and Authorization : Basic Auth, JWT and Google Auth2.0
Deployement : Netlify and Heroku
BASE_URL = Set your frontend URL e.g - localhost:3000 for development
PIN_API = https://api.postalpincode.in/pincode
SECRET = eg. eyJhbGciOiJIUzI1NiIsInR ... for generating JWT Tokens
MONGODB_URI_PROD = URI for connecting to MongoDB Database.
MONGODB_POOLSIZE = 10 or you can set to your custom
MAIL_SERVER_HOST = eg. smtp.gmail.com - Set it to yours.
MAIL_USER = eg. youremail@gmail.com
SUPER_ADMIN_NAME = eg. SUPER ADMIN or Set it as per your choice.
SUPER_ADMIN_EMAIL = eg. admin@gmail.com
SUPER_ADMIN_PHONE = eg. 8981430145
SUPER_ADMIN_PASSWORD = eg. PassDum@123 or Set Default Password for Admin
PORT = 8080 or Set Default Port
CLIENT_ID = Client ID generated by Google Cloud Console for Oauth2.0
CLIENT_SECRET = Client Secret generated
REFRESH_TOKEN = Refresh token generated
REDIRECT_URL = eg https://developers.google.com/oauthplayground
For seting up Oauth2.0 on GCC. Refer here - Sending Email with Gmail and Oauth2.0
Backend
cd backend
npm install
npm run local -- for development or npm start -- for production
Frontend
cd frontend
npm install
npm start
Glad to see you here! Show some love by starring this repo.
Made with 🖤 by Trishnangshu Goswami