About Me
I am a highly dedicated software professional with 5 years of experience under my belt.
I have worked on all the phases involved in Software Development LifeCycle right from building a product from scratch to solving issues regarding scala...
I believe I can help you whatever your problem might be, right from getting a product started from scratch in terms of architecture to delivering industry standard and highly scalable code for your requirements
I am highly skilled in Java, Clojure, Python and golang and have worked on various frameworks like Spring boot, compojure, gin and Django.
In terms of Databases, I am highly skilled in MySql, MongoDB, Redis, Postgres
I have also worked and have large experience working on queueing systems like Kafka and rabbitmq.
Looking forward to working with you and having a great professional relationship
Show MoreSkills
Programming Language
Development Tools
Web Development
Database
Software Testing
Others
Portfolio Projects
Marketing automation
https://www.smartech.comIt was a complex tool to help automate creating a marketing campaign.
Company
Marketing automation
Contribute
I was incharge of the module and any development regarding the module
Description
Had to understand existing marketing automation backend architecture and implement new features in the component while maintaining it and keeping it bugfree. It basically is an event processing system and an automation can be created via html.It parses the HTML into corresponding business logic(into clojure).This was built into a jar and was deployed to our storm topology. Thus business logic can be created on UI via building blocks like a flow chart and this will be converted into clojure and eventually a jar. Our storm cluster had 10 topologies which were spread across 2 servers. Kafka was used as a messaging queue and storm spouts and bolts were used to consume and process the data via apis
Show More Show LessTools
GitRealtime analytics
https://www.netcore.inA module which calculated and stored realtime analytics of client websites
Company
Realtime analytics
Contribute
Was responsible for everything from architecture design to middleware apis
Description
To process all events like clicks, opens, sent, etc realtime in a multithreaded environment and create the corresponding summary in mongo.This would then be consumed by APIs to be displayed on dashboard.Dashboards included data like Email analytics, Web Analytics, App analytics.
Show More Show LessTools
GitTeno question Bank stats and payment
https://www.tenoapp.comModule where teachers can upload their questions and get paid
Company
Teno question Bank stats and payment
Contribute
Was responsible for designing database, data flow and integrate it in the existing product
Description
Part of Teno, a product geared towards school and children where we crowd source questions for various standards and pay the authors accordingly
A consumer to interest events and populate in mysql
Expose apis to display weekwise stats
A scheduler to generate invoice of payment
Technologies used: rabbitmq, jpa, mysql, mongo, redis
Show More Show LessTools
GitGolang Read receipt for chats
https://www.teno.comTo maintain state of read/received state of all users in group chat/single chat
Company
Golang Read receipt for chats
Role
Backend Developer
Contribute
Was responsible for designing a fault tolerant and highly scalable api to handle requests of users sending their state of message read/received
Description
Had to develop a robust API which would be of bursty nature. Hence had to be highly load tolerant. So we decided to go ahead with golang. Had to design they entire API with rabbit, mysql, redis
Technologies used v golang, redis, rabbitmq, mysql
Show More Show LessSkills
Go Lang Mongoose.JS Nginx RabbitMQTools
GithubCompany
OAuth Server
Role
Backend Developer
Contribute
Was responsible for developing an oauth server from scratch
Description
The project was to create an oAuth2 server which will generate a jwt token with embedded user details and claims and signed by a private key. Its corresponding public key will be shared with the clients and thus the client will be redirected to their registered url with jwt token and refresh token passed in the query params.If token expires, the client will regenerate it using the refresh token and if the refresh token and jwt token both are expired, user will be redirected back to the login screen with redirecturl parameter passed to it
Show More Show LessSkills
Hibernate Java (All Versions) Java Persistence Annotation - (JPA) OAuth PostgreSQL Python Spring Boot 2 Spring SecurityTools
Eclipse