This is my pet-project directed to learn such technologies, as:
- Protocol Buffers
- Some parts of Spring (BeanPostProcessor, AOP, etc.)
- NoSQL (Redis, Neo4j)
- Spring Cloud
- Tests (testcontainers)
- Protocol Buffers fox advanced serialization/deserialization speed, solve problem with Java native mechanism
- Redis, as says Chat GPT, for caching (I think in sessions, but not sure) (update 2: Chat GPT suggest to use it in real-time notification system)
- Neo4j for recommendation system
- Spring Cloud just for fun, it's my 4 time to use it
- DestructionAwareBeanPostProcessor
- Java RMI to remote administration
- gRPC to communicate between two microservices
- I want an achievement system
- JWT-tokens
- Email verification
- Business-valued email sending on registration
- Maybe store all user's ip addresses to notify if it sing in from strange device
- send suspect notification to account owner on throwing exception during sign-in
- Store known user hosts in Auth module and send notification on suspect log in datatypes for network
- Move to scalable id generation
https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps