Its realtime contest app, which exposes contests over UI (Web and Mobile), gives feature to Create contest, give vote and generate the results. Tech stack - Web - React, Redux Backend - Node, Sockets, Express Mobile App - Cordova-VanillaJS, Maps, Sockets.
cd server
npm install
npm start
# starts server on port 3001
# api
http://localhost:3001/api
Go to another terminal tab
cd client-web
npm install
npm start
# starts server on port 3000
# UI
http://localhost:3000
Go to another terminal tab
cd mobile-app
cordova build browser
cordova run
# starts app on browser server on port 8000
# App
http://localhost:8000
- Takes geolocation of user, emit co-ordinates towards server
- Get Contest details from server based on the matched co-ordinates
- Process the Contest details, take all users and respective co-ordinates details from it.
- Place markers on the map
- On click of marker, displays map-info box with username
- On click of map-info box, opens the modal with username, image and Swipe feature
- Swipe left / right on the modal to vote
- After swipe vote details get sent towards server
- Realtime sync of data using socket.io
- Receives geolocation of user
- Send Contest details based on the matched co-ordinates
- Send Connected users details to all
- Receive vote details from client and update data
- Realtime sync of data using socket.io
- Express based APIs for the Contest CRUD operations
- Create Contest by entering details : Contest name, desc, start date, end date, entrants (name of users - comma seperate), co-ordinates ( JS object seperated by "+" ) -- [format {lat:, lng:} + {lat:, lng: } ]
- View Contest Details
- Edit Contest Details
- Delete Contest Details