Deploy website - based on ebebc3d5b5

This commit is contained in:
2021-10-15 02:52:39 -07:00
parent 3176b3567f
commit 2973e05ed9
26 changed files with 87 additions and 83 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
"use strict";(self.webpackChunkthreetwo_docs=self.webpackChunkthreetwo_docs||[]).push([[927],{1527:function(e,t,i){i.r(t),i.d(t,{frontMatter:function(){return c},contentTitle:function(){return l},metadata:function(){return s},toc:function(){return u},default:function(){return h}});var r=i(7462),o=i(3366),n=(i(7294),i(3905)),a=["components"],c={sidebar_position:4,id:"architecture",title:"Technical Architecture"},l=void 0,s={unversionedId:"architecture",id:"architecture",isDocsHomePage:!1,title:"Technical Architecture",description:"High-level Architecture",source:"@site/docs/architecture.md",sourceDirName:".",slug:"/architecture",permalink:"/threetwo-docs/docs/architecture",editUrl:"https://github.com/facebook/docusaurus/edit/main/website/docs/architecture.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4,id:"architecture",title:"Technical Architecture"},sidebar:"tutorialSidebar",previous:{title:"Resources & Help",permalink:"/threetwo-docs/docs/resources"}},u=[{value:"High-level Architecture",id:"high-level-architecture",children:[]},{value:"Technical stack",id:"technical-stack",children:[]}],p={toc:u};function h(e){var t=e.components,i=(0,o.Z)(e,a);return(0,n.kt)("wrapper",(0,r.Z)({},p,i,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h3",{id:"high-level-architecture"},"High-level Architecture"),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"ThreeTwo!"),", the app is built upon the microservice architecture. The UI is a standalone ",(0,n.kt)("inlineCode",{parentName:"p"},"node.js")," app and the rest of the logic is broken into microservices."),(0,n.kt)("p",null,"The microservices deal with: "),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Library functions (model orchestration, CRUD ops on comics, metadata)"),(0,n.kt)("li",{parentName:"ol"},"Comic Vine (scraping issues, volumes and more)"),(0,n.kt)("li",{parentName:"ol"},"Grand Comics Database (scraping, aggregations and more)"),(0,n.kt)("li",{parentName:"ol"},"Helpers (image transformation, file-system ops, compression/uncompression)")),(0,n.kt)("h3",{id:"technical-stack"},"Technical stack"),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"ThreeTwo!")," is written in ",(0,n.kt)("inlineCode",{parentName:"p"},"TypeScript")," from UI to the services layer."),(0,n.kt)("p",null,"The technologies used are: "),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"React"),(0,n.kt)("li",{parentName:"ol"},"Redux"),(0,n.kt)("li",{parentName:"ol"},"moleculer"),(0,n.kt)("li",{parentName:"ol"},"RabbitMQ"),(0,n.kt)("li",{parentName:"ol"},"socket.io"),(0,n.kt)("li",{parentName:"ol"},"node.js"),(0,n.kt)("li",{parentName:"ol"},"Express"),(0,n.kt)("li",{parentName:"ol"},"MongoDB"),(0,n.kt)("li",{parentName:"ol"},"mongoose")))}h.isMDXComponent=!0}}]);
"use strict";(self.webpackChunkthreetwo_docs=self.webpackChunkthreetwo_docs||[]).push([[927],{1527:function(e,t,i){i.r(t),i.d(t,{frontMatter:function(){return c},contentTitle:function(){return l},metadata:function(){return s},toc:function(){return u},default:function(){return h}});var r=i(7462),a=i(3366),n=(i(7294),i(3905)),o=["components"],c={sidebar_position:4,id:"architecture",title:"Technical Architecture"},l=void 0,s={unversionedId:"architecture",id:"architecture",isDocsHomePage:!1,title:"Technical Architecture",description:"High-level Architecture",source:"@site/docs/architecture.md",sourceDirName:".",slug:"/architecture",permalink:"/threetwo-docs/docs/architecture",editUrl:"https://github.com/facebook/docusaurus/edit/main/website/docs/architecture.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4,id:"architecture",title:"Technical Architecture"},sidebar:"tutorialSidebar",previous:{title:"Resources & Help",permalink:"/threetwo-docs/docs/resources"}},u=[{value:"High-level Architecture",id:"high-level-architecture",children:[]},{value:"Technical stack",id:"technical-stack",children:[]}],p={toc:u};function h(e){var t=e.components,i=(0,a.Z)(e,o);return(0,n.kt)("wrapper",(0,r.Z)({},p,i,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h3",{id:"high-level-architecture"},"High-level Architecture"),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"ThreeTwo!"),", the app is built upon the microservice architecture. The UI is a standalone ",(0,n.kt)("inlineCode",{parentName:"p"},"node.js")," app and the rest of the logic is broken into microservices."),(0,n.kt)("p",null,"The microservices deal with: "),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Library functions (model orchestration, CRUD ops on comics, metadata)"),(0,n.kt)("li",{parentName:"ol"},"Comic Vine (scraping issues, volumes and more)"),(0,n.kt)("li",{parentName:"ol"},"Grand Comics Database (scraping, aggregations and more)"),(0,n.kt)("li",{parentName:"ol"},"Helpers (image transformation, file-system ops, compression/uncompression)")),(0,n.kt)("h3",{id:"technical-stack"},"Technical stack"),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"ThreeTwo!")," is written in ",(0,n.kt)("inlineCode",{parentName:"p"},"TypeScript")," from UI to the services layer."),(0,n.kt)("p",null,"The technologies used are: "),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"React"),(0,n.kt)("li",{parentName:"ol"},"Redux"),(0,n.kt)("li",{parentName:"ol"},"moleculer"),(0,n.kt)("li",{parentName:"ol"},"RabbitMQ"),(0,n.kt)("li",{parentName:"ol"},"socket.io"),(0,n.kt)("li",{parentName:"ol"},"node.js"),(0,n.kt)("li",{parentName:"ol"},"Express"),(0,n.kt)("li",{parentName:"ol"},"MongoDB"),(0,n.kt)("li",{parentName:"ol"},"Redis"),(0,n.kt)("li",{parentName:"ol"},"nats"),(0,n.kt)("li",{parentName:"ol"},"nginx")))}h.isMDXComponent=!0}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long