Monkvyasa - Astrologer Marketplace
I worked as a software consultant on the project with the aim to revamp the existing astrologer marketplace for better UX and DX.
Tech Stack
- React
- Material UI
- Nodejs
- Socket.IO
- MongoDB
- Redis
- Nginx
- PM2
Some contributions I made:
Move Frontend from Cpanel to Vercel:
The websites(admin, astrologer, and user) in the beginning were hosted on bare metal servers, where we had to build the react sites on local machines and upload the files through Cpanel. Also, Apache caching was a problem, users were not able to see the updated content.
After we moved to Vercel, caching issues were gone, we just had to do a git push and we had a preview URL, merge and the changes were live ✨.
Implemented Chat Feature from scratch:
Developed, tested and deployed a paid chat feature with expiration times using Nodejs, Redis, MongoDB and Socket.io, and it was seamlessly integrated without affecting existing features.
Migrate from PHP to Nodejs:
The backend for the project was writtent in PHP Laravel, for which we did not have any developer on-board to handle it. We incrementally migrated APIs one by one to Nodejs for future maintenance and edits.
Make admin dashboard working:
The admin dashboard code had outdated dependencies, and upgrading to latest versions directly did not work. We had to go through packages one by one seeing what is breaking and what is not.
Solve bugs accross the projects:
There were a lot of issues with the project, sometimes currency conversion did not work, payments were getting failed, etc. I solved the bugs while also developing new features.
Learnings:
- This was my first interaction with a legacy codebase and working on it opened up a whole new level of understanding of how people will prefer and write code, choose libraries and file structures, and how to navigate through these codebases instead of getting frustrated.
- I learned about self-hosting backend servers on bare metal servers, setting up proxy with Nginx and installing SSL certificates. Before this I used to host on Heroku or similar services, which abstracted away all the complexity.
- I learned about caching, issues around caching, how hard it is to get caching done right and how managed services handled this all for us.