> For the complete documentation index, see [llms.txt](https://jorgeguerrabrazil-github.gitbook.io/angular-unit-testing-and-numerical-analysis/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jorgeguerrabrazil-github.gitbook.io/angular-unit-testing-and-numerical-analysis/lets-get-started.md).

# Let's get started!

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].  &#x20;

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.&#x20;

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. &#x20;

{% hint style="info" %}
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. &#x20;

**Suggested reading**: Unit Testing Principles, Practices, and Patterns Book by Vladimir Khorikov
{% endhint %}

{% hint style="info" %}
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!
{% endhint %}

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".&#x20;

{% hint style="info" %}
I have a course with a more generic touch, should you be interested "[Innovating with Biomathematics The challenge of building user-friendly interfaces for computational biology](https://www.udemy.com/course/innovating-with-biomathematics/?referralCode=861F75660F9C05BB3BD5)". Further, part of the codes we are designing has to do with the course "[Uma introdução aos métodos matemáticos nas ciências da vida: aprendendo sobre modelos computacionais e matemáticos aplicados à biologia e medicina, vol. 1](https://www.udemy.com/course/uma-introducao-aos-metodos-matematicos-nas-ciencias-da-vida/?referralCode=96D33CDD4844CF3EDE8E)"
{% endhint %}

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*!

##


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://jorgeguerrabrazil-github.gitbook.io/angular-unit-testing-and-numerical-analysis/lets-get-started.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
