https:\/\/pub.dev\/packages\/state_graph_bloc<\/a>.<\/p>\n\n\n\nThe tech stack can be summarized as a multiplatform Dart application, designed for code sharing between Angular Dart used for web development and Flutter used for mobile apps.<\/p>\n\n\n\n
The industry is moving towards multi-platform development tools (i.e., one technology to build apps for mobile, web, desktop, and embedded devices) with Flutter at the front of such initiatives. The move is motivated by the need to cut the enormous costs involved in the development and maintenance of multiple tech stacks.<\/p>\n\n\n\n
The only reason we used Angular Dart<\/em> instead of Flutter on the Web<\/em> is that the latter was still in its early stages of beta testing at the time of building Wedbliss. In our case, migrating Angular Dart<\/em> to Flutter on the Web<\/em> will be easy, since we maintain one codebase and most of the code is already shared between web and mobile (as both are written in Dart programming language).<\/p>\n\n\n\nLastly, it is important to note our approach to designing the backend. We used Ktor and MongoDB. We chose Ktor due to its low setup costs (i.e., lightweight framework with a quick and easy setup). Another advantage was that Ktor is built with Kotlin (a much more concise language when compared to Java), and we took full advantage of Kotlin features such as lambda syntax and DSLs. As for MongoDB, there is a never-ending debate on whether you should choose SQL or NoSQL databases. The truth is, there is no silver bullet and it all depends on your use case. For us, the focus was on flexibility. We chose NoSQL MongoDB due to its schemaless nature that allowed for rapid transformations as our data needs changed. Rather than fitting an application to meet schema requirements, we allowed for experiments to define our optimal database structure.<\/p>\n\n\n\n
Key Takeaway<\/em><\/p>\n\n\n\nOur component-based approach to designing and building our product allowed for quick and easy propagations of changes – saving us a lot of time when going through the numerous iterations of Wedbliss.<\/p>\n\n\n\n
<\/div>\n\n\n\n
Drive<\/h2>\n\n\n\n
Coming soon.<\/p>\n","protected":false},"excerpt":{"rendered":"
Wedbliss helps couples easily find their dream wedding venue. The platform features an interactive map of expertly curated wedding venues across Poland, in which couples can adjust filters to display venues matching specified criteria.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":""},"categories":[1],"tags":[233],"_links":{"self":[{"href":"https:\/\/codizon.com\/wp-json\/wp\/v2\/posts\/1975"}],"collection":[{"href":"https:\/\/codizon.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codizon.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codizon.com\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/codizon.com\/wp-json\/wp\/v2\/comments?post=1975"}],"version-history":[{"count":15,"href":"https:\/\/codizon.com\/wp-json\/wp\/v2\/posts\/1975\/revisions"}],"predecessor-version":[{"id":2028,"href":"https:\/\/codizon.com\/wp-json\/wp\/v2\/posts\/1975\/revisions\/2028"}],"wp:attachment":[{"href":"https:\/\/codizon.com\/wp-json\/wp\/v2\/media?parent=1975"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codizon.com\/wp-json\/wp\/v2\/categories?post=1975"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codizon.com\/wp-json\/wp\/v2\/tags?post=1975"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}