Microservices written in typescript, Async event based communication using NATS Streaming Server
- Docker ,Kubernetes, Skafold, Nginx-Ingress ,Docker Images
- Typescript
- Node , NEXT js (SSR UI) My NPM common module
- redis (using tedis), mongodb, update-if-current (tackles version issue of data replication)
- NATS Streaming Server
- JWT, BULL js(Messaging Queue)
All we want in our free time is to get some interesting read like good articles but we don't want to go through pain of finding one. The tool solves that issue by
- There are two sections on front page Top liked (25 of the month) and Recents (recently created 25 posts) ,users can come and share links to article other users can upvote them after reading eventually most interesting articles will be on top, saving effort of searching
- Other CRUD operation are also available post created
We all forget how we solved a particular problem (which made us search web / see others solution), if not revised on particular interval. To solve this
- Recommended interval to revise is through gap of 1,3,5,7... days. This tool help do the same by building streak and reminding you to revise particular problem in these interval.
- All users can add multiple problems in there personal space. CRUD operations is available for problem item
can be hosted anywhere don't need external apis
- Auth
- user creation, signup,signin,signout
- MongoDB to store data
- Client
- Server side rendering with NEXT js
- expiration
- Messaging Queue with redis storage
- Emits events after 25 days to remove posts from lists
- recents
- manages Top liked queue and recents queue based on events received
- Redis storage
- personal
- logic CRUD of problem and reminders in 1,3,5,7.. days interval
- MongoDB to store data
- posts
- manages CRUD for Article links and publishes events correspondingly
- MongoDB to store data
- INFRA/k8s
- contains all deployments files
- common2
- Common Event,Errors,validations,functions definitions and implementations
- create secret :
- kubectl create secret generic jwt-secret --from-literal=JWT_KEY=MYKEY
- set ingress timeout
- kubectl wait --namespace ingress-nginx --for=condition=ready pod --selector=app.kubernetes.io/component=controller --timeout=120s
- Apply from here based on provider
vardhnag