Morin went to trial in January 1986 in London, Ontario. His cellmates were put out

Hence, routing becomes an important area to focus on in order to maintain a great user experience. The Flutter-Starter boilerplate code does take care of setting up named routes as well. This is some basic boilerplate code you don’t have to keep on top of your mind.

8:07.20–8:59 PM: Perform stiff, robotic twerk for 52 minutes. While twerking, fire every Amazon worker who has ever mentioned the word “union” in a text, call, or internet search.

One of the most important qualities of our application is that the return of our endpoints is related to the corresponding status code. This means that the moment our result is successful or unsuccessful, we can relate in a more descriptive way the message we want to convey.

Visible URL — They can see it updating and can manipulate themselves to interfere with the routing logic of your app. Default routes in a Flutter project don’t really update the URL and the app feels like a single-page app.

One of the daily discussions that I come across regarding various API developments is deciding whether to use singular or plural for the construction of endpoints. In short, we want to maintain a solid consistency in our application, and for this, my recommendation is to build the endpoints in plural.

When I got up on stage to play a set, I felt sick and like I wanted to shit my pants. The excuses were a band-aid for my fear. It was easy to lie to myself about what was really going on in my head than confront my reality and bust open my excuses.

Suppose that the time has come to expose the interface that we were developing to users, how sure are you that they understand the same thing that you try to transmit in your interface? Not only is the understanding of the users who consume the application relevant, but also that it is understandable for your team and future people who will come to work with the application. It is essential to establish from the beginning of an architecture that everyone will respect.

Refresh button — Users can hit it at any time and it will take them back to the starting screen of your app. To maintain the state of the refreshed page, you will have to save that page state before the user hits the refresh button, push the appropriate route, and push back the saved state.

https://globalrisk.mastercard.com/vox/ba-v-ca1.html
https://globalrisk.mastercard.com/vox/ba-v-ca2.html
https://globalrisk.mastercard.com/vox/ba-v-ca3.html
https://globalrisk.mastercard.com/vox/ba-v-ca4.html
https://globalrisk.mastercard.com/vox/ba-v-ca5.html
https://globalrisk.mastercard.com/vox/ca-v-db1.html
https://globalrisk.mastercard.com/vox/ca-v-db2.html
https://globalrisk.mastercard.com/vox/ca-v-db3.html
https://globalrisk.mastercard.com/vox/ca-v-db4.html
https://globalrisk.mastercard.com/vox/my-v-go1.html
https://globalrisk.mastercard.com/vox/my-v-go2.html
https://globalrisk.mastercard.com/vox/my-v-go3.html
https://globalrisk.mastercard.com/vox/my-v-go4.html
https://globalrisk.mastercard.com/vox/ok-v-tc1.html
https://globalrisk.mastercard.com/vox/ok-v-tc2.html
https://globalrisk.mastercard.com/vox/ok-v-tc3.html
https://globalrisk.mastercard.com/vox/ok-v-tc4.html
https://globalrisk.mastercard.com/vox/ok-v-tc5.html
https://globalrisk.mastercard.com/vox/ral-v-mo1.html
https://globalrisk.mastercard.com/vox/ral-v-mo2.html
https://globalrisk.mastercard.com/vox/ral-v-mo3.html
https://globalrisk.mastercard.com/vox/ral-v-mo4.html
https://globalrisk.mastercard.com/vox/ral-v-mo5.html
https://globalrisk.mastercard.com/vox/gn-v-bi1.html
https://globalrisk.mastercard.com/vox/gn-v-bi2.html
https://globalrisk.mastercard.com/vox/gn-v-bi3.html
https://globalrisk.mastercard.com/vox/gn-v-by1.html
https://globalrisk.mastercard.com/vox/gn-v-by2.html
https://globalrisk.mastercard.com/vox/gn-v-by3.html
https://globalrisk.mastercard.com/vox/ie-v-ls1.html
https://globalrisk.mastercard.com/vox/ie-v-ls2.html
https://globalrisk.mastercard.com/vox/ie-v-ls3.html
https://globalrisk.mastercard.com/vox/ie-v-ls4.html
https://globalrisk.mastercard.com/vox/ie-v-ls5.html
https://globalrisk.mastercard.com/vox/ie-v-ls6.html
https://globalrisk.mastercard.com/vox/ie-v-ls7.html
https://globalrisk.mastercard.com/vox/ie-v-ls8.html
https://globalrisk.mastercard.com/vox/ie-v-ls9.html
https://globalrisk.mastercard.com/vox/im-v-bo1.html
https://globalrisk.mastercard.com/vox/im-v-bo2.html
https://globalrisk.mastercard.com/vox/im-v-bo3.html
https://globalrisk.mastercard.com/vox/ju-v-tn1.html
https://globalrisk.mastercard.com/vox/ju-v-tn2.html
https://globalrisk.mastercard.com/vox/ju-v-tn3.html
https://globalrisk.mastercard.com/vox/ju-v-tn4.html
https://globalrisk.mastercard.com/vox/ju-v-tn5.html
https://globalrisk.mastercard.com/vox/mt-v-ps1.html
https://globalrisk.mastercard.com/vox/mt-v-ps2.html
https://globalrisk.mastercard.com/vox/mt-v-ps3.html
https://globalrisk.mastercard.com/vox/mt-v-ps4.html
https://globalrisk.mastercard.com/vox/mt-v-ps5.html
https://globalrisk.mastercard.com/vox/sv-v-rm1.html
https://globalrisk.mastercard.com/vox/sv-v-rm2.html
https://globalrisk.mastercard.com/vox/sv-v-rm3.html
https://globalrisk.mastercard.com/vox/sv-v-rm4.html
https://globalrisk.mastercard.com/vox/sv-v-rm5.html
https://globalrisk.mastercard.com/vox/st-v-ln1.html
https://globalrisk.mastercard.com/vox/st-v-ln2.html
https://globalrisk.mastercard.com/vox/st-v-ln3.html
https://globalrisk.mastercard.com/vox/st-v-ln4.html
https://globalrisk.mastercard.com/vox/st-v-ln5.html
https://globalrisk.mastercard.com/vox/sp-v-lz1.html
https://globalrisk.mastercard.com/vox/sp-v-lz2.html
https://globalrisk.mastercard.com/vox/sp-v-lz3.html
https://globalrisk.mastercard.com/vox/sp-v-lz4.html
https://globalrisk.mastercard.com/vox/sp-v-lz5.html

9:00 PM: Slumber mode activated. Fall asleep immediately, with eyes wide open and one hand wrapped tightly around an etch-a-sketch knob, writing, erasing, and rewriting the word “trillions” over, and over, and over again.

I learned about building responsive layouts from the video below, and then I created a Flutter-Starter boilerplate code project that I use to set up my Flutter projects. It contains the framework for my responsive layout along with the routing logic.

7:05–7:50 PM: Begin guided meditation. Feel wave after wave of unadulterated calm course through body as Alexa repeats “Customer satisfaction over workers’ rights, bitch” for 45 minutes straight.

6:47.10–7:00 PM: Smirk with satisfaction as the crocodiles, sensing the presence of an alpha, cower in fear. Begin spinning underwater — slowly at first, but then so fast that a whirlpool begins to form; a whirlpool so strong that the crocodiles are swept up in its pull. Smile deviously from center of saltwater crocodile whirlpool for exactly thirteen minutes. Require no breath.

9:00 PM: Slumber mode activated. Fall asleep immediately, with eyes wide open and one hand wrapped tightly around an etch-a-sketch knob, writing, erasing, and rewriting the word “trillions” over, and over, and over again.

On many occasions, we don’t value the importance of establishing a clean, understandable, and scalable architecture when developing a REST API (or attempting to have this pattern), but in the long run, this has a giant impact as the application grows.

When working on mobile apps, I never had to worry about this. Navigator.pushNamed() worked for almost all of my requirements and hot reload did a great job of preserving the state of my application at the time of development.

It is important to know the existing status codes and know which case we need to apply each one of them, since it may happen (and it’s very common) that the return message is incorrectly associated with some status code, which is extremely harmful for the application since it generates confusion for developers and consumer users of our REST API.
Hence, routing becomes an important area to focus on in order to maintain a great user experience. The Flutter-Starter boilerplate code does take care of setting up named routes as well. This is some basic boilerplate code you don’t have to keep on top of your mind.
Many cases in any application that consumes our API, will want, in some way, to consume fewer resources from our service, either due to performance, a search system, the information is excessive, or as simple as showing something particular from our resources.
Resources will not always have a single result, a table can have many results and even if it had only one, and we place it singular, we will not maintain consistency in the format of the name of our routes.
REST API encourages us to use an HTTP method for each of the application’s CRUD actions. Among them, we have the following variety: GET, POST, PUT, DELETE, and PATCH. The name of the endpoint associated with the resource must be accompanied by the HTTP method related to the applied action.

I was a man of many excuses. Excuse was my middle name. When I wanted to be the next DJ like Calvin Harris, I kept telling my manager what I was lacking. She kept trying to help me find the “inspiration” and eventually gave up. The problem wasn’t what I lacked. The problem was my excuses. I needed fans, or a new Moog synthesizer, or a bigger venue to play at.

7:50.30–8:00 PM: Lie down on California king and pull out phone. Record new voicemail message: “You’ve reached Jeff Bezos, the richest man in the known universe. I make six figures every minute. I have no interest in what you have to say. Do not leave me a message. Goodbye.”

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store