1. Home
  2. Docs
  3. Engineering
  4. Lovia System Architecture

Lovia System Architecture

Architecture Diagram & Application Stack Diagram

TODO: draft still in progress (by Kevin)

Versions & Migration Lifecycle

Miluv and Lovia Group apps are distributed apps and always evolving. Different components are transitioning/migration into the next version, while keeping the overall service usable and running. To make understanding & coordination doable, we have a concept of “Architecture” version, and versioning for major components.

Architecture VersionDatabase Schema VersionsNotable ChangesStack (Removed, Deprecated, Recommended, Experimental, and Upcoming)
SatukanCinta 3.0
Historical (2017 to 2020)
PostgreSQL 10 – schema v3.0
Aurora MySQL 5.7 – schema v3.0
๐Ÿ‘ Spring Boot 1.5, AWS EC2, Facebook Login
Miluv 4.0
Historical (2020)
MongoDB 3.6 – schema 4.0
MariaDB 10.3 – schema v4.0
Elasticsearch 7.0 – schema v4.0 (soluvas-geo)
PostgreSQL 10 – schema v3.0
1. Introduction of Express & Serverless Framework
2. Replacement of Facebook Login with Firebase Auth
โ›” AWS EC2, Facebook Login
๐Ÿ‘Ž Spring Boot 1.5, Lightsail
๐Ÿ‘ Express, Firebase Auth
๐Ÿงช Strapi, GraphQL
Miluv 4.1
Historical (2020 to May 2021)
MongoDB 4.0 – schema v4.1
MariaDB 10.4 – schema v4.0
Elasticsearch v4.0 (soluvas-geo)
PostgreSQL 10 – schema v3.0
1. Removal of Express
2. Introduction of NestJS
3. Introduction of FusionAuth
4. Introduction of ERPNext
5. Introduction of Rocket.Chat
โ›” Express
๐Ÿ‘Ž Spring Boot 1.5, Lightsail, Firebase Auth
๐Ÿ‘ NestJS at AWS Lambda + Fargate, ERPNext, GraphQL
๐Ÿงช Strapi, Nx
๐Ÿ˜Ž Rocket.Chat, FusionAuth
Miluv 4.2
May 2021 – Currently active in production
Under development as satukancinta_satukancinta_prd & heartenly_prd
MongoDB 4.4 – schema v5.0: introducing user.ssoId and user.idV4, user._id is deprecated, chat* now uses ssoId
MariaDB 10.5 – schema v4.0
Elasticsearch 7.0 – schema v4.0 (soluvas-geo)
PostgreSQL 10 – schema v3.0 (deprecated)
1. Introduction of MongoDB Realm
2. Deprecation of Strapi due to their removal of MongoDB support
๐Ÿ‘Ž Spring Boot 1.5, Lightsail, Strapi
๐Ÿ‘ MongoDB Realm, NestJS at AWS Lambda + Fargate, FusionAuth, ERPNext, Rocket.Chat, GraphQL
๐Ÿงช Nx, Netlify/Vercel, Sanity, Rasa
Lovia 5.0
May 2021 – Under development as lovia-staging
Will be deployed as lovia-staging
MongoDB 4.4 – schema v5.0: user._id is now SSO ID
MariaDB 10.5 schema v4.0
Elasticsearch 7.10 – schema v4.0 (soluvas-geo)
1. Unified MongoDB database and backends for Miluv, Lovia, Soluvas, and Talentiva
2. Complete replacement of satukancinta.com to miluv.app
3. Adoption of Bunny Storage and Bunny Optimizer
4. Replacement of chat system with Rocket.Chat
โ›” Spring Boot 1.5, Lightsail
๐Ÿ‘Ž Strapi
๐Ÿ‘ MongoDB Realm, NestJS at AWS Lambda + Fargate, FusionAuth, Ant Design Pro (UmiJS) @ AWS Amplify, Bunny Storage & Optimizer, ERPNext, Rocket.Chat, GraphQL
๐Ÿงช Nx, Netlify/Vercel, Sanity, Rasa, AWS Lambda Docker
Lovia 5.1
Not yet started – Awaiting launch of Lovia 5.0 platform
MongoDB v5.0
MariaDB v4.0
Elasticsearch v4.0 (soluvas-geo)
1. Introduction of Capacitor for Android & iOS native mobile apps๐Ÿ‘Ž Strapi
๐Ÿ‘ MongoDB Realm, NestJS at AWS Lambda + Fargate, FusionAuth, Ant Design Pro (UmiJS) @ AWS Amplify, Bunny Storage & Optimizer, Capacitor, ERPNext, Rocket.Chat, GraphQL, AWS Lambda Docker, Webiny
๐Ÿงช Nx, Netlify/Vercel, Sanity, Rasa
๐Ÿ˜Ž Hasura
Lovia 6.0
Not yet started – Still in brainstorming
MongoDB v?
MariaDB v?
Elasticsearch v?
DynamoDB?
1. Adopting Hasura with MongoDB
2. Introduction of Webiny?
3. Removal of Strapi
โ›” Strapi
โ“ MongoDB Realm, NestJS at AWS Lambda + Fargate, Ant Design Pro (UmiJS) @ AWS Amplify, Bunny Storage & Optimizer, Capacitor, FusionAuth, ERPNext, Rocket.Chat, GraphQL, Hasura, Netlify/Vercel, AWS Lambda Docker, Webiny
๐Ÿงช Nx, Sanity, Rasa, StackBlitz

Webiny vs Strapi

Webiny can be compared fairly to Strapi, as they have many common functions.

WebinyStrapi 4.x
Supported databasesDynamoDBMySQL/MariaDB, PostgreSQL, SQLite
Search indexElasticsearch (required)None
Role-based permissionYesYes

References

Articles

Was this article helpful to you? Yes No

How can we help?

Leave a Reply

Your email address will not be published. Required fields are marked *