DEV Community

Cover image for First time with Flutter: build a simple app
Giacomo Lombardi
Giacomo Lombardi

Posted on

First time with Flutter: build a simple app

I'm always excited to try new libraries/languages/tools (who don't be?) and some time ago I create my first app with Flutter: DoRPA.

DoRPA stands for Download Ricevute Portale Alloggiati.
Portale Alloggiati: it's the Police portal which turist's structures must send daily data about who is arrived.
Ricevute (receipt): daily PDF to download that certifies the right sending of data

TLDR: see the repo https://github.com/lomby92/download-ricevute-portale-alloggiati

📍 Context

Each turist's structure need to send data every day, o download the receipt from the Portale Alloggiati and to keep the receipt for 5 years. Also: receipts are available for 30 days in the Portale and then there is no way to download them.

Early this year, the Police has published the Web-Service to send data without login in the Portale, that was no so accessible and user-friendly. Many PMS added the possibility to send data but the staff member of the hotel still need to access in the Portale to download receipts.

🎉 Solution

Let's make a very simple app to download receipts!

🧑‍💻 Development

I started to follow the official guide, it's well done and easy to jump-in: https://docs.flutter.dev/get-started/install

After the first steps I choose the UI and how it should work:

  1. login page: the user need to insert required data and non-sensitive data should be saved for subsequent logins
  2. download page: one input for the date and a simple submit button

As you can see, the UX is very simple, following the initial purpose.

Internally, the app doesn't have too much logic. There is a service to handle HTTP calls to the Web-Service and to handle errors.

I develop the app under Linux but for now it's available only for Windows. The power of Flutter: add MacOS and Linux will be really easy, without change the app itself.

🖼️ UI

The login page:
Image description

The download page and the date picker:
Image description
Image description

📦 Release

I played with GitHub Actions and in few minutes I was able to create the package needed to release the app. And, it's free!

Release pipeline: https://github.com/lomby92/download-ricevute-portale-alloggiati/actions/workflows/release.yml
Release page: https://github.com/lomby92/download-ricevute-portale-alloggiati/releases

💭 Conclusion

It was my first app, even if it's simple it was a pleasure to build it and release it. There always some work to do but for now it works and it's used at least for one hotel (every day) and this is a win experience for me!

Top comments (0)