Creating a Laravel Project

Laravel architecture
Laravel history
The Pros of Laravel
The Cons of Laravel
Getting started with your own Laravel project
Laravel for backend
Building Laravel Projects with Templates
Building Laravel Projects with Flatlogic

Laravel is a PHP-based backend framework. It follows the Model-View-Controller design pattern which explains many of Laravel’s pluses and minuses that we’ll detail further on. Users often credit Laravel with responsiveness, scalability, and a good community. But not everything is so simple. Like many backend frameworks, it can be abstract and unintuitive. That is if you don’t have anyone to guide you.

In this article, we’ll talk about the history of Laravel, how it emerged, and how it won its position. We’ll take a closer look at the peculiarities of working with Laravel, and sum up the reasons to choose it or avoid it. Finally, we’ll dive deeper than usual into the inner mechanism of a simple app, and show you the code so you’ll know how to properly grease the gears. Keep reading!

Laravel Architecture

As mentioned, Laravel follows the Model-View-Controller architecture pattern. In this system, the Model is the part that manages the database and the data logic. The View is the user interface and all its interactive functions. The Controller is what differentiates MVC software from earlier practices. It mediates between the Model and the View, and makes the two largely independent of each other. It means easier development and maintenance, easier project management, and reusability of components.

Laravel History

Laravel was published in 2011, and it is a little over 10 years old now. By that time Taylor Otwell, the creator of Laravel, had been using CodeIgniter for quite a while. CodeIgniter was a solid backend framework and holds a small market share to this day. However, it had issues with authentication. Whenever you wanted authorization with Google or Facebook that we now take for granted, it required additional software that was hard to find in ready form. Otwell released the beta version of Laravel on June 9, 2011. The early Laravel supported a lot of the things that were missing from most backend frameworks back then. Those included authorization, views, sessions, routing, localization, and more.

Modern Laravel complies with MVC principles. But back in 2011, it did not support controllers. It became a true MVC framework in September 2011, with the Laravel 2 update. Laravel 3 came with a built-in command-line interface called Artisan. Furthermore, it had a lot more capacity for managing databases. At that point, Laravel was something largely similar to what it is today.

Laravel’s Pros


Backend frameworks have a reputation for being harder to grasp. While subjective, this approach has a grain of truth to it. Backend processes happen behind the scenes. They aren’t as easily demonstrable as front-end processes, and can thus be unintuitive. Laravel’s simple syntaxis and extensive use of plain PHP are a nice change of pace and a great opportunity for aspiring backend developers.


Laravel is often credited for data security. One of the contributing solutions is the Eloquent ORM. This object relational mapper is included in the package and adds another abstraction level to the code. It presents data as objects making the data exchange safer and more efficient. Furthermore, Laravel can store passwords in encrypted form out of the box. Together with the overall sturdy build, this makes Laravel a safe and reliable technology.

Time and Resource Efficiency

Laravel’s initial light weight is just one of the reasons why it saves storage space and computing power. Laravel is awesome when it comes to testing separate parts of the software rather than the whole project. Any time you fix a bug, this feature of Laravel will save just a little time. But if you have to fix lots of bugs, that’s a huge asset!

Effective Mapping

Laravel’s mapping is optimized for using relational databases. This makes relational databases easier to connect to Laravel backend, and they run smoother and faster than on some other frameworks.

Built-in CLI

Laravel’s built-in CLI called Artisan is a huge asset in creating command-line applications. Artisan is an advanced CLI that lets you include tasks and migrations without additional tools and resources.

Strict Logic

Laravel complies with the MVC (Model-View-Controller) architecture. This design is helpful for structuring the code into intuitive logical areas. MVC solutions are usually less susceptible to bugs and more compliant when it comes to debugging.

Quality Community

Laravel’s community is extensive and helpful. Plenty apart from the extensive FAQs, a lot of forums and dedicated platforms orbit Laravel making it very hard to come across an issue you won’t find a solution to.

Laravel’s Cons

Possible Compatibility Issues in Older Projects

Laravel has grown tremendously since its introduction but that came at a cost. Newer versions have an array of features that don’t work properly with older versions. This can make older Laravel projects glitchy and slow. In other words, the opposite of what we value the most about Laravel.

Minimum Tools Included

We’ve mentioned what a great CLI Artisan is. However, other parts of Laravel don’t boast the same diversity of tools and components. The downside of choosing a lightweight framework is the likelihood of having to implement additional tools and some glue code to make them work together properly. This is not a frequent occasion but can sometimes negate the light weight of Laravel.

Inconsistent Speed

Laravel doesn’t shine when it comes to speed. Competitors like Yii and Symfony outrun Laravel in most scenarios. Bear in mind, though, that Laravel’s operation on the latest PHP version with JIT compilation hasn’t been extensively tested. So keep your mind open, the latest Laravel might turn out to be much faster.

Getting started with your own Laravel project

When working with backend frameworks, it’s harder to keep track of your progress. That’s one of the reasons why backend frameworks get a reputation for being hard and unintuitive. We don’t think it’s fundamentally harder. We think it just requires a bit more initial training. Let’s start with basics and progress one step at a time.

Installing pre-requisite software

To fully use Laravel’s arsenal of features, you’ll need to install some useful tools, and learn to use them. Let’s start with Docker. Docker is a virtualization solution. It lets us run software in sandbox-like environments called “containers”. Docker runs your code internally, without affecting any other software on your PC or causing any compatibility issues. What runs in Docker, stays in Docker. We suggest getting Docker Desktop. The real reason we need Docker is Sail – Laravel’s built-in command-line interface. It integrates with Docker perfectly. This basic setup will let you run intermediate versions of your project with ease.

Setting up a Subsystem

This step is highly recommended for Windows users. A Linux Subsystem allows for running binary executables. This is the least troublesome way to test-run Laravel code on Windows. Launch your Windows Terminal, preferably in administrator mode, and launch the WSL. The process is simple: just type ‘wsl’ in the PowerShell or another CLI.

Creating the Project

Everything’s set for creating our own project. I’ll let myself be vain about it and call it Al’s Laravel project. Except, we want to avoid any possible compatibility issues, so the directory will be spelled ‘als-laravel-project’. To create a project, we use the CLI to go to the directory we need to create the project and print:

curl -s | bash

After a brief compilation, navigate your CLI again to the directory and move to the next step.

Creating the Project via Composer

This is another way to create a Laravel project. It has gained lots of popularity, and might be the most obvious method today. First, make sure you’ve installed both PHP and Composer. Then you can enter Artisan CLI and print the following:

composer create-project laravel/laravel example-app
cd example-app
php artisan serve

The above will create a local development server for Laravel.

Starting Sail

At this point, we can set up sail with one command. The ‘Sail Up’ command is easy enough to remember. Because we’re setting up our Sail, get it? If this is your first time launching Sail, the CLI will build application containers on your device. This takes a while but will make all subsequent Sail launches and operations faster. With the file structure there, you can access your application at http://localhost. In principle. This is just the structure of the future application and not the application itself. Let’s see what we can do next!

Primary Configuration

Laravel is often credited with the ease of setting up. Most Laravel projects require little to no initial configuration. However, you can explore the app.php file in the ‘config’ folder. It contains plenty of variables like Time zone, Laravel framework service providers, and URL Debugging. Like we said, most projects don’t require any configuration at this stage. If you’re just learning the ropes, we recommend learning to work with a basic Laravel project first. It will give you some context when you’re deciding how to configure the application.

Environment Configuration

Laravel supports developing, testing, and running your applications in different environments. Those include testing, deployment, production, and more. Adjusting your project for different environments happens by changing underlying parameters like caching directory. Environment variables are found in Laravel’s default .env file (or .env.example, depending on the method of Laravel installation that you’ve chosen).

Laravel for Backend

Laravel can be a great backend solution in many cases. Let’s list some of them!

Single-Page APIs

When building a single-page API, the small scale of the software built and the time spent implies a similarly minimalist approach to choosing the underlying technologies. We’ve mentioned how a Laravel project can be configured but in many cases that’s unnecessary. Laravel’s ease of configuration lets us create simple APIs in no time.

Next.js Applications

Next.js emerged to solve compatibility issues for Node – React applications, and that’s how it usually works. With Laravel, however, there’s another way to use Next.js. Laravel runs well as a backend of the Next.js application’s API. Laravel’s support of notifications and queues is impressive and helps use these features out of the box.

Semi-Full-Stack Framework

You might come across sources that claim Laravel to be a full-stack technology. That’s true to an extent. Laravel offers extensive possibilities for request routing. Also, if you’re interested in Laravel’s full-stack capabilities, take a closer look at Blade. Blade is Laravel’s integrated templating engine. It uses plain PHP which means no additional software will inflate your project. You can use Blade and transmit information to integral views lines. Laravel won’t work as a comprehensive front-end framework but brings along features that will be a great addition to plain JavaScript apps and landings.

Building Laravel Projects with Templates

Laravel is a highly popular framework so, naturally, there’s a huge supply of Laravel templates. One example is Flatlogic’s own Sing App Vue Template with Laravel Backend. Templates are possibly the easiest way to create a Laravel application. Especially considering the fact that many of those templates come with pre-installed front-end. The main challenge here is properly connecting all data endpoints to create a completely functional API.

To better understand how it works, we suggest trying the Sing App’s live demo. It is intuitive enough for most users to quickly understand how to manage a template-based application. Plentiful documentation will help resolve any issues and our support team is always ready to help you out here in case the documentation doesn’t cover it.

Building Laravel Projects with Flatlogic

Flatlogic Platform is our way of bridging the gap between developing your own apps and using templates. Applications running on the same technologies typically use the same elements and components. In many cases the main thing that makes them different on a technical level is the database schema that accommodates different mechanisms of data processing and storage. Flatlogic Platform allows creating applications by combining parts and building only the parts that need to be unique. It’s as easy as it sounds, and sometimes even easier. Keep reading to know more!

Step 1

The first page we see when creating our own project requires a name for the project and the tech stack. The name is pretty straightforward. Just pick one that is easy enough to associate with the project. The tech stack is the combination of technologies used in the project. The front-end, the database, and the backend to tie them together. Any combination will work fine, but given the article’s topic, we’ll choose Laravel as the backend technology.

Step 2

Next up, we’ll choose the design for our application. Currently, we’re redeveloping some visual options, so only the Material is available. But don’t worry, the others will soon be back and improved. Material design is Google’s design language used for UI compatibility of new software with Google services. Furthermore, its minimalist, unobtrusive nature works in most cases and for most users.

Step 3

The following page is the Database Schema that we mentioned earlier. The schema is the structure of the database that describes the relationships between columns, rows, and fields. This is an important part that largely defines how your application will process data. However, we’ve explored the more popular demands and included pre-built schemas perfect for eCommerce, Blogs, Social Networks, and more.

Step 4

Here we need to check if everything is according to plan. Check the stack, check the design, check the database schema, decide if you want to connect Git repository, and hit Finish.

Step 5

The next page offers us a plethora of ways to deploy and run our application. Deploy from scratch, deploy from GitHub… If you’re interested in the inner mechanisms of a Laravel application, you can view the actual code of the app.

Well done, sir or madam! You’ve created your very own Laravel App.


We’ve explained how to install Laravel and create your first project. That’s a solid first step for anyone who wants to learn Laravel development. For everyone else who needs a Laravel-based application but doesn’t have the time or the desire to learn the framework, we’ve offered two other routes. Both Laravel templates and Flatlogic Platform have a lot going for them. We might be biased but we usually recommend the Platform. It offers greater flexibility by allowing you to create applications with any combinations of technologies, designs, and database schemas.

Laravel is a controversial technology. It’s simple and beginner-friendly, but it requires additional research as you master Laravel development. It is one of the best and most versatile technologies including CLIs on the market yet can sometimes lack tools in other departments. We can definitely recommend Laravel to anyone who’s willing to learn backend development. Laravel offers plenty of features that speed up the development of compact, single-page applications, and large scale business solutions.

Related articles

Top 5 Admin Templates with Node.js Backend

Best Headless CMS in 2022

The post Creating a Laravel Project appeared first on Flatlogic Blog.

6 React Project Ideas to Help You Learn by Doing (Updated 2022)

Why do you need these React project ideas?

A list of React project ideas

Personal Productivity App

YouTube Comments Analyst

Weather App

Messenger Aggregator

Personal Expense Tracker

Recommendation App

Creating a React App the quick way with Flatlogic

Everyone faced the dilemma of what app you should develop next to make progress in learning React. The project must be complex enough to make you think and google, but not too hard so you don’t feel overwhelming. And you are looking for a great article where you can find a brilliant React project ideas for your next project that just fits your skills.

Well… If it looks familiar, then that article can’t help you=)

This article doesn’t offer you to learn new skills, practice design, research new ways to provide great user experience, or something else… It’s about the challenge!

Why do you need these React project ideas?

The ideas in the article are supposed to push you beyond your limits, to force you to think furiously, to blow your mind with problems you are going to face. And much more…

That top is not about simple components and apps like quizzes, books apps, or note-taking up. Moreover, it isn’t necessary to take that challenge if you have just finished tutorials and started working on your first React project idea. It’s expected that you have already known the basic foundation of React Native development and have taken part in the development of some complex apps.

But don’t hurry to close the article if you are a new guy in programming! The ideas you find here are entertaining and interesting, and maybe someday when you get a lot of experience and acquire new skills you will ask yourself a question “What else can I develop?”. Then you will remember that you read that article with some fascinating ideas, then one of the ideas will come to your mind and bingo! You will understand what your next app will be about!     

Enjoy reading!

A list of React project ideas

Personal Productivity App

Image source:

Everyone desires to be productive, achieve his dreams, be an iron-man / attractive girl, be disciplined, give up bad habits, and just be listed in Forbes top richest people. Let’s help them.

We don’t offer to invent a new productivity method since there is a bunch of them that already exist (for example, check this article). Also, we don’t expect you to create a holistic motivational system, like gamification in Habitica.  Our task is to make a calendar-based productivity app with reports, reminders, dashboard for tasks and habits. Let’s clarify all these basic components.

Calendar-based app implies that the users are supposed to plan their days, so the app should give them that opportunity with a calendar where they can set the time and day where they are going to accomplish tasks or devote time to acquire a new habit. The app has to remind users about upcoming events and what they have planned for today. You also should include instruments like to-do lists or dashboards in the app with different statuses of tasks like “to do today, tomorrow, this week, someday”. Next thing in the to-do list (your to-do list, not in the app) is to make reports about tasks accomplishment with different periods (a day, week, month), so your users become aware of their progress. After developing all these features the most interesting part of the app goes, check the list below.  

Ways to comprehend:

Add website and app blocker. This helps potential users not to be distracted by social media or notifications from other apps.
Make the phone goes into the silent mode when a user works with the app and gives users an ability to set the time or set conditions when the mode should automatically be enabled.

YouTube Comments Analyst

Image source:

If you have a lot of followers on YouTube, you know how hard it is to understand what the mood of those one hundred thousand comments is. Are people happy watching your videos or they are bored?  Do you make an impact on people with your work and creativity? What followers wanted to see?

You can develop an app that analyses the comments for you and answers all your questions. The app is based on a dictionary of words with some values assigned to them. You can set different types of values, but let’s start with just two: positive value for words like “Awesome” and “Great” and negative value for words like “Bad”, “Useless”, “Boring”.  Then the app collects the comments (use YouTube data API) and calculates the total score.

Once it’s done, think about UI for the app. We need a field to input link to YouTube video, a pie chart to display total like and dislike amount, a histogram to plot the results for different sentiment groups of comments. 

 Ways to comprehend:

Add the history of videos you have checked and monitor the changes in sentiment over time.
Also, you can go further and try to calculate the impact on people via comments, but it’s harder since you need to add values not only to words but to word combinations too. (as an example, “that video inspired me to chase my dream!”)
Dive deep into the analysis and add the option to examine certain groups of comments. Why negative comments are negative? Do they have something in common? What are the most liked comments about? Are they good jokes or greeting to the author that other people share?

Weather App

Image source:

A great React project idea is to make an app that displays a weekly weather forecast. The core requirement for the app is usable and clear user interface: users must get desired information (the weather forecast) just when they open the app. Users are more interested in two questions: what should I wear today and should I take an umbrella? So, it’s good to start just with temperature and precipitation. Drop the information about wind speed, cloud cover, the time of sunset and sunrise (of course with cool animation that definitely will take a few hours of development), etc. Let’s say you get it and now you need to show the weather for today. How?

The basic element to display weather forecast here is a day weather card. All cards with daily forecasts must be structured and well organized, so prepare to unleash your potential as an expert designer or just ask your friend to prepare a mock-up for you.

The second necessary feature is accuracy, so make sure that you pick a well-known and checked online service to forecast the weather. We advise to use the most popular websites like, and more trusted API sources (like this).

You can guess that it’s time to add information about pressure, cloudiness, wind speed, etc. Well, we don’t think so. 

When the previous two steps are completed, think about UX and what features users may need. It’s good to start with adding the ability for users to change the period for days display: today, current week, 7 days, 10 days, 15 days, 30 days. Then make a report of hourly temperature changes and the chance of precipitation. Also, add the function of precise positioning and the ability to select several regions/cities to monitor. When everything is done and tested you get an informative app about the weather forecast for various periods in different regions. Maybe now it’s time to show additional information for the daily weather we mentioned above? Well, no, you still have a work to do, look through the list below.

Ways to comprehend:

Use graphic libraries to display daily changes in the weather or add a graphic representation of week temperatures.
Add a dynamic built-in map that displays precipitation over the time until now.

Running in background with push notifications about the rain, snow, high/low temperatures, or fog will be a great improvement for the app. 
How about the idea to make the app function on smartwatches? (and then you should feel free to publish the app on the Google Play and App store)
All right, fine, you can display pressure, wind speed, and whatever you want.

Messenger Aggregator

Image source:

It can be hard to manage all chats and messaging services, like Skype, sack, What’s up, Viber, telegram, Google hangouts, etc. Try to build a universal messenger that combines them all. The must-be functionality: support of as many messengers and chats as you are able to set, the UI that allows users to switch between them quickly, support of push notifications for mobile and desktop, multilingual, ensuring the privacy of personal messages. As we have mentioned, there are a lot of variant messaging services. First, provide support for 5 messengers in most demand in your region and meet all requirements above. After that look through the list below.    

Ways to comprehend:

Add the ability to manage multiple accounts in any messenger. This function can be very helpful for businesses and very challenging for you: how many messengers can you set up with multiple accounts? 
Expand the functionality with synchronization of services across all devices you log in on so you don’t need to add it manually every time on a new device.
Allow your app to set rules for prioritization of the notifications by putting them on the top.
Just add MORE messaging services and chats!       

Personal Expense Tracker and Analyst (Using Big Data)

Image souce:

Forget the second part about big data for a while and concentrate on building the basis of the expense app. The app should allow users to track their expenses and to analyze it. So, the core functionality here is adding the records of the cash flow. Expenses and income must be divided by categories and users should be able to create custom ones. To analyze cash flow the app creates charts for different periods with the ability to display expenses and income by categories. 

After that, the most fascinating part of the challenge goes: try to provide insight into users’ spending habits using all records from the previous periods (it takes time to create them first) with the help of artificial intelligence and big data. Teach it how to make predictions about future expenses based on previous periods, reveal budget lines that take extra money from users, accumulate as much information as possible, and create tips for reports, so even users with no financial background can understand where they spend their money.

Ways to comprehend:

Set up an integration with bank accounts and credit/debits cards.

Add some planning with budgeting. And more reports as a result. It’s not enough just to track your expenses, it’s necessary to learn how to control them.   

Comparison is a good tool to show alternative ways of spending money (for example you spend as much money on the bun as the cost of monthly gym membership).

Recommendation App

Image source:

The concept is to provide users with movie recommendations based on their preferences. The fundamental features are rating, cards with pictures, a large database, nice-looking design, maybe swipe option. You don’t need to build a media player for various video formats. Your focus must be on the development of a clear user interface design and engaging interactions. The app should capture users’ attention and motivate them to provide necessary information about their interests so the recommendations would be accurate.    

Every way to comprehend implies a new branch of recommendations for different aspects of our lives. Implementing them all means that you have developed a universal recommendation app. Every branch requires the expansion of date base and new functionality. The list of branches you can find below:

Ways to comprehend:

Add dish recommendations. 
Let users discover new books
Expand the database with musical artists and help users to find a new sound.
Integrate the app with training services with online courses.

Challenge yourself and bring to life React project ideas

Knowledge is of no value unless you put it into practice.

So you’ve spent dozens of hours learning a new technology, in this case React. However, only practice will provide an opportunity not only to consolidate knowledge, and also it can add impressive projects to your portfolio. Any employer wants to see some projects done, despite the fact that you may not have any work experience yet.

In this case, it is important to decide on the technology stack. There is simply no time and effort to study two or three alternatives at once.

Therefore, we decided to help determine the choice of specialization as a bonus. You can often find information about the advantages of a particular framework or library. We will write about possible unpleasant surprises that may await when implementing the aforementioned React project ideas.

Together we are strong, but separately we will perish. This aphorism best describes the ambiguous situation with this library. On the one hand, React has huge community, tens of thousands of specialists from different countries.  Open source and the ability to create new modules, in addition to its advantages, has disadvantages in the form of incomplete guidance, lack of support and inability to find solutions. Even the official React site still provides examples of class components, although the community and the library itself have chosen the functional components and hooks course.

Looking at Stack Overflow, which has over 255 thousands React questions, some thoughts also pop up. On the one hand, you don’t have to worry about the lack of an answer to your question, and on the other hand, you can doubt the quality of the library. After all, if something works well, then should there be any questions?

React is an opinionless library; this means that she has no opinion on how to solve problems that touch on all aspects. So it is up to you and your team to come up with an opinion on what to do with a particular react project idea, and especially what other libraries you want to use. Of course, you will be using third party libraries because you don’t want to reinvent the wheel. And there are many different options in React.

There are many similar react project ideas, but you won’t fund two projects with the same dependencies, project structure, and guidelines. This means that knowledge cannot be transferred from project to project, as it can in the case of Angular or Vue.

Thanks for reading.


We’ve listed 6 easy variants to learn React by doing. Now we’ll offer you two more React project ideas. One is the most beginner-friendly option, and the other a more challenging option. Also, we’ll offer an easier path you’ll want to follow if you’re done with challenges for the day;)

Calculator App

For those who are just starting out with React and don’t have too much time to learn the deep intricacies. A calculator app is about as basic as it gets. The functionality and the interface are easy to adjust, and the app’s operation is easy enough to check. Does it calculate properly? Voila! You’ve done a great job.

The Value of this Challenge

This won’t challenge experienced developers. But those with no expertise but a strong desire to learn by doing would benefit from starting small. A minimal challenge provides an intermediate checkpoint where you can evaluate your progress and get that small bit of gratification that will help motivate you to achieve more.

e-Commerce App

Apps for eCommerce are an infinitely scalable challenge. Based on your experience and spare time, you can make a very basic or a more complex solution. This will require some back-end and database-building skills apart from React mastery. A simple React eCommerce App may only have a primitive database with two or three parameters of each entry and a simple input procedure. As your experience grows, you can introduce more data relationships and inner mechanisms. Each layer of parameters, features, and pages brings out new opportunities for creating yet more features based on those that are already there.

The value of this challenge

eCommerce Apps rarely display unique functionality. The real challenge here is navigating the architecture of a complex, multi-storied App and creating an end product that’s easy enough to navigate for the users. Additionally, eCommerce Apps are a frequent use case for React, and you’d be amiss to skip it in your front-end practice.

Creating a React App the quick way with Flatlogic

As promised, a quicker and easier way to create a React App. This way has many uses but fits eCommerce especially well. The Flatlogic Platform lets you combine parts and elements to create an App of your own. Next up are the steps necessary to do it.

#1: Name the project

Name your project. This way the project will be easier to address and find in case you start another one.

#2: Choose stack

An App’s stack consists of technologies its front-end, back-end, and database run on. In this example, we’ll pick React but any combination will work.

#3: Choose the design

The Platform offers several (we keep adding new options or merging existing ones, so the number might change) design schemes. Take a look at each one and decide which one feels the most natural to you.

#4: Choose the schema

Define the parameters of your database. Fields, columns, types of data, and the way the App processes entries – all of that must be defined. Or you could save some time and stick with one of the presets. They’re tailored to popular demands and at least one of them will likely fit.

#5: Review and generate

Check your choices, see if everything is fine. Choose “Connect GIT Repository” if you want to. Hit “Finish”.

Flatlogic Platform will compile for a couple of minutes and introduce you to your App. Deploy it, host it locally, or push it to GitHub, and make good use of it! Happy developing!

You might also like these articles:

Top 5 Free Awesome React.js Material-UI Admin Dashboard Templates

13 Bootstrap Date Pickers Examples
Top 19+ Remarkable JavaScript Data Table Libraries and Plugins

The post 6 React Project Ideas to Help You Learn by Doing (Updated 2022) appeared first on Flatlogic Blog.