This is an application that teached me a lot about mixing tecnologies. I needed to do some research regarding the use of AMD with Dojo as it is the framework for Arcgis and added ReactJs to the game.
You will see the following map and you can click to be a Patient or a Donor.
As a donor you will click on any site on the map and a form will be filled with the donors details. After submitting this form a new mark in the map will be placed for patients.
As a patient you will click on any donor marker and you will get all the donors details.
Persistance for donors and updated information.
Donors could be added while the patients are online, so socket IO will bring updated information of the actual donors in the system.
Every time a donor is updated / deleted / added to the system, the patient and donors will have the latest information.
So every operation CRUD will actually go to data base and then call socket IO for broadcast.
Improvements and things to be resolved:
Modal form with donor information some times does not clear properly
Handling errors could be better
Work in performance matters
Adding tests and coverage to development
You could have a marker in any place in the planet and it would be set to the client, they could be loaded lazy listening to the position on map and the view port of the client in order to bring markers of a certain area.
Learned about Arcgis maps, also about ReactJs, we added real time operations with Socket IO, and persistance with MongoDB and Mongoose.
Thanks to mongo labs and Mongoose it is very simple to have a DB setup and running.