This will be an article – edited multiple times – that will include links to packages of Micro Service Java Modules for Any App. Such common modules are user functionalities, roles, access, security, notification systems, performance and more. After the basic stuff, I’m gonna dive into app building and several modules required for a blockchain apps.
Connecting Micro Service Modules Systems
Stateless modules
Stateless modules are far easier to scale. They need to be started on multiple machines and work load balanced. That is getting developer friendly with the evolution of the clouds and containerisation technologies.
Stateful sub-systems
Stateful functionalities are a little bit harder to scale. Some solution is separation of read and write operations and scale up the read as it is the stateless sub-module. This arises the problem of having the read copy up to date. Managing the cache properly is one very popular problems in programming.
Notification Systems
- Email Sender/Receiver Modules – There are multiple protocols that an app could abstract over. The true power of programming is to hide the complexity of a concrete submodule. If it is implemented properly swap of the provider will not take a lot of effort.
- Push Notifications – There are multiple providers. The most popular in the west is Firebase Cloud Messaging.
- SMS or Phone Calls. Again – there are bridging/adapter software – that integrates with GSM APIs and Services.
- Real World Letters to entered address of correspondence. This is/was/ used for example by Google to verify business for their presence in Google Maps.
Image Processing Modules
- Watermarking images and videos. Popular package for the videos is FFMPEG. https://programtom.com/dev/?s=ffmpeg
- Scale Down & create thumbnails
- Content Delivery Network
User Management System
- Login with in-app credentials
- 3rd party oAuth
- GDPR
- Audit Logger
Security (& User Profile Protection)
- IP White/Black Listing
- Timeout Access Restriction
- Captcha
- Request Headers Interceptors
- JWT
- Proof of Possession extension over JWT
Role & Access Management
- Different Roles
- Different Access according to roles
Performance Systems
- Caching – caching may be set on multiple levels
- Http/Web layer
- Micro Service/Module layer
- DB/Query layer
App Builder Development
- Web App
- Mobile App
- Web Page (Web sub-sections)
- dependent from the user
- his settings web content
- UI App Builder
Blockchain App Development
- NFT marketplace
Social Media Modules
- Social Media is a graph of connections between the users. Choosing the right search algorithm and how you organize your data – according to the user is crucial for performance.
- Content/Feed Algorithm – Another critical module is how content is picked – to be presented to the user. Who controls it? This is very hot topic for Tik Tok, Facebook, even for Elon Musk in Twitter now.