Let's get started!

On this page, we give the first steps toward building our app

Our very first course, and latest course, was launched about 4 months ago, namely, “Mongoose, Test Driven Test-driven development, NestJS, Jest: Aprenda sobre o funcionamento do Mongoose focando em testes” [PT].

The focus of the course was Mongoose for using MongoDB by means of unit testing, using Jest: the idea was endowing the students with some tools to apply unit test when using Mongoose on Node.js. We are going to follow similar directions. We shall talk about unit testing, and noSQL database. For unit testing, we shall use Jasmine/karma, and for noSQL, we shall we Firebase. Even though fo Node.js we have a range of options for unit testing libraries, for Angular it is Jasmine/karma mainly, this library was incorporated into Angular, which is something quite positive.

The reason for using Firebase instead of MongoDB, my generally first choice, is that it is similar to MongoDB, even their website resembles the MongoDB Atlas, and it was incorporated into Angular, like Angular Material; also, even though we shall not cover that on this course, they have several extra features, such as learning machine, that can come handy for the topics we are going to cover on that course: Angular in scientific computation.

And besides all that, Firebase runs in the frontend, no need to create a server. It is specially nice if you want, say ,to deploy on GitHub, which we shall do during the course. Nonetheless, the app is now deployed on Heroku. Unfortunately, as far as I know, Git Pages can be deployed one per account. It is a pitty since it is quite easy to deploy them! no need to create servers and more.

We shall talk more about it, but unit testing is a set of techniques used to test the smallest version of code possible. Essentially, it is a set of parallel and independent codes, used to make sure key functionalities/behavior are always working.

Suggested reading: Unit Testing Principles, Practices, and Patterns Book by Vladimir Khorikov

I discovered Git Pages recently, some weeks ago, and I was surprised how fast and easy it is to deploy Git Pages. You just need an html file, like the one Angular generates after running the production script. They are static pages, no server, however Angular stills works fine as a dynamic page!

The reasons it took me so long to launch the next course has to do with: i) I like to launch a course like a scientific paper, it has to be ready, and I need to feel like it; ii) I had so many ideas that it was hard to launch something, it was not lack of motivation or ideas, launching a course takes time, takes attention; iii) I was not sure what codes I should use, the e-book I am writing about mathematical models in biological systems, that I have decided to create a sandbox. Then, it occurred to me that it would be an amazing opportunity to actually teach how I designed the platform. Even though it is relatively easy to create, for beginners, it can be handy, and also for researchers from applied mathematics anxious to "innovate with biomathematics".

We are not going to design everything, the platform is MIT license, and can be found on GitHub. We are going to design some of the features as a way to teach Angular, the core of the course, and also give support to another project that I have called Innovating with biomathematics.

This is not a book, rather a tutorial, therefore, let’s go straight to the point!

Last updated