DEV Community

Cover image for A month of Flutter
Abraham Williams
Abraham Williams

Posted on • Updated on • Originally published at bendyworks.com

A month of Flutter

Originally published on bendyworks.com.

Recently Uri Shaked wrote an inspiring article about his experience publishing a blog post each day for a month. I've decided to combine his great idea with my goal of becoming a better Flutter developer. For the month of December, I will be building a Flutter app and writing a daily blog post about the process.

My goals

  • Become a better Flutter developer
  • Practice writing concise blog posts
  • Practice writing project requirements

What I am building

For this challenge I will be building Birb, an image sharing social network dedicated to birds. An Instagram for birds, if you will.

Since I have not built the app yet, I don't actually know how much will get accomplished in December. Here are my planned MVP features:

  • Global stream page of all posted images
  • User authentication
  • Image posting
  • User profile page
  • Individual image page
  • Comments on image page

If I finish the MVP, I'll add more features. Some potential features, in no particular order:

  • Push notifications
  • #hashtags on images
  • A/B Testing
  • Themes
  • Friendship graph/following
  • Friends stream of images
  • Liking images

What to expect

Every day* I will create a new blog post describing my most recent progress. Over the month these small steps will hopefully add up to a nice app. The blog posts will mostly be short and to the point, covering a small widget or feature.

As this will be an ongoing development project where I will be experimenting with different patterns, don't expect everything to be implemented perfectly the first time. There will be refactors and bad choices along the way. I will, however, be following best practices like writing tests, running CI, linting, etc.

If you are new to professional development worfklows, you can follow the process and get a peak into how projects can be run. I will be writing the stories and implementing the features and my colleague Pearl will be reviewing progress and code.

Technologies

Some of the technologies I plan to use in Birb:

  • Flutter (duh)
  • Firebase Firestore for a database
  • Firebase Auth for user authentication
  • Firebase Cloud Storage for hosting images
  • Firebase Cloud Functions for serverless computing
  • Material Design for aesthetics
  • Device media APIs

How can I be a part of it?

What to be more involved? Here are some areas to start:

See you tomorrow when I create the initial Flutter app.

P.S., if you are in the Madison area, come to GDG Madison's Flutter Live Viewing Party on December 4th.

*Posting every day is my intention but I may take some days off.

Oldest comments (6)

Collapse
 
rhymes profile image
rhymes

Nice idea!

Good luck for the adventure :-)

Collapse
 
abraham profile image
Abraham Williams

Thanks!

Collapse
 
gameoverwill profile image
Wilfredo Pérez

Hey I'm doing the same, I've one app the I wanna develop using flutter. The last week I've learned a lot but I'm still a newbie. I hope this month start to develop.

I'll be following you progress.

Collapse
 
abraham profile image
Abraham Williams

Fantastic. Please ask any questions you might have.

Collapse
 
vinceramces profile image
Vince Ramces Oliveros • Edited

Great article there. Tell me about the experience in Flutter. I myself have been using flutter for 8 months now, and I conclude myself about developer experience, delightful and customizable UI that your wireframe app would turn into an actual app.

But be warned on accessing native apis such as Bluetooth, NFC, or GPS. You'll end up learning 3 languages instead of 1(Better than learning 4 languages + 1 CSS)

Collapse
 
abraham profile image
Abraham Williams

Integrating with native APIs is an area that I've not done much in yet. But I look forward to seeing how it goes later in the series.