Intro

First of all i love fishing ?.

Two days ago, in an old HDD, i found an sql dump from my first web project called "YesPesca". I developed YesPesca with Dreamweaver :D, but this is another story.

The aim of YesPesca was to aggregate all the italian fishing lakes in one website and get the fishing lakes near you based on GPS coordinate.

This sql dump contains almost all the fishing lakes in Italy.

I therefore took the opportunity to start a smart open source project in order to resuscitate YesPesca. This was the original "logo"  ?

New architecture

As in all projects, we can divide YesPesca into two parts:

  • Frontend
  • Backend

Frontend ?

I've discovered Flutter framework a year ago when it was still in 0.0.x version.

When on December 2018 the Flutter team released the first stable version i started studying it through a course on Udacity (https://eu.udacity.com/course/build-native-mobile-apps-with-flutter--ud905).

These are my considerations on Flutter framework:

Pros of Flutter

  • is compiled directly to native arm code which makes it easier to access platforms APIs and services
  • supports stateful Hot Reload
  • has a rich set of customizable widgets

Cons of Flutter

  • is a new language to study but great for both new and experienced developers

So, the frontend framework that i've chosen is                  ‌

Database

As my socks say, the main database of YesPesca is MongoDB.                                 ‌

Backend ?

I decided to build the YesPesca backend in Nodejs because is fairly easy to get a project off the ground.

The main framework used is Fastify.

Fastify is a web framework highly focused on providing the best developer experience with the least overhead and a powerful plugin architecture. It is inspired by Hapi and Express and as far as we know, it is one of the fastest web frameworks in town. [https://www.fastify.io/]

Fastify includes Swagger for API documentation. For who doesn't know Swagger:

Swagger is an open-source software framework backed by a large ecosystem of tools that helps developers design, build, document, and consume RESTfulWeb services. [https://swagger.io]

In order to talk with MongoDB host i decided to use Mongoose library because, as they say, is

an elegant mongodb object modeling for node.js [https://mongoosejs.com]

But why share the sources?

Someone will be thinking now that i'm trying to get free IT workers for the YesPesca project. Absolutely no.

I believe in open source projects and of course in people who think it.

The aim of YesPesca is to build together and create a great community that looks to the future.

Conclusions

I've already initialized the backend repository on Github -> https://github.com/texano00/yespesca-backend

The backend repository is a really first version in order to put together all the tools.

My next moves will be:

  • create a Github board for the backend improvement+new features+fixes
  • create and init the yespesca-frontendrepository with a first version of the app
  • publish the app on Apple and Android stores