---
# System prepended metadata

title: 100 days of MANN

---

# 100 days of MANN

> Name: Asaju E. Michael
> Stack: MANN(MongoDB, Angular, NestJs, NodeJs)
> Want's to Learn: Production level MANN
---

|  Start Date | End Date |
| ------------ | ------------ |
| 4 May, 2020 | --------|

## Goals
- Make habit of coding daily & learn everyday
- Learn MANN for deeper knowledge
- Make some real world projects for my portfolio
- Get a good grap on Node JS & server-side typescript

## Log

### Day 1: May 4, 2020, Monday

**Today's Progress**: 
- Revised File upload using angular and nestjs
- Completed add user by current user with profile picture

<!-- **Link to work:** 
- [Flat Login Template](https://github.com/mimukit/html5-templates-collection#1-flat-login-template "Flat Login Template") -->

**New thing(s) learned:** 
- Never append `Content-Type` to angular interceptor. It does it automatically

<!-- **Thoughts:**  At last able to start the chellenge and do some real coding. Enjoyed the time and work. Wish to have a great journey.  -->

------------

### Day 2: May 5, 2020 Tuesday

**Today's Progress**:
- Documentation

**New thing(s) learned:**
- Learnt how to document a project in progress

**Thoughts:** Documenting is kind of boring and at the same opens the eye to new things

-----------

### Day 3: May 6, 2020 Wednesday

**Today's Progress**:
- Nothing done

**Thoughts:** Need a better source of electricity

----------

### Day 4: may 7, 2020 Thursday

**Today's Progress**:
- Worked with datatables
- Learnt how to make inline code functions and reload the datatable without querying the database for data

**Thoughts:** Using Subject Observables is better than having to reload the component. Also dtTrigger needs a fix

---------


### Day 5: May 8, 2020 Friday

**Today's Progress**:
- Revisited file upload
- Worked with different file extensions
- Worked with SweetAlert2 for custom alerts

**Thoughts:**
 - Not all answers on stackoverflow are right
 - There's always a way to create custom functions from installed packages

---------

### Day 6: May 9, 2020 Saturday
**Today's Progress**:
- Read up on different data manipulation on NestJs
- Worked with Directives on Angular

**Thoughts:**
- `@Input` works for passing data from parent component to child component
- `@Output` works for passing data from child component to parent component

---------

### Day 7: May 10, 2020, Sunday
> Took long rest

---------

### Day 8: May 11, 2020, Monday
**Today's Progress**:
- Revisited `@Input` Directive

**Thoughts:**
- Need to learn the jagons of MANN

--------

### Day 9: May 12, 2020, Tuesday
> Had to go to work

--------

### Day 10: May 13, 2020, Wednesday
**Today's Progress**: 
- Added a feature of inline component
- Revisited `@Output` directive

**Thoughts:**
- `@Output` can be used to pass any form of data
- Will try to see if I can pass data from child component to child component

--------

### Day 11: May 14, 2020, Thursday
**Today's Progress**: 
- Added a page loader for when getting data from server
- Used [`ngx-loading`](https://www.npmjs.com/package/ngx-loading) to show loading animation while data is fetched

**Thoughts**:
- Page loading animation before data display makes it easier for users to know what is going on
-------

### Day 12: May 15, 2020, Friday
**Today's Progress**: 
- Utilised image upload using firebase
- Sourced image from firestore

**Thoughts:**
- For performance issues, I recommend storing files on firebase rather than on the server itself
- Have different components for tasks, makes it easier to deug and reuse

-------

### Day 13: May 16, 2020, Saturday
**Today's Progress**: 
- Read up on loading bar for file uploads
- Changed file upload from server to firebase

------

### Day 14: Sunday, May 17, 2020
**Today's Progress**:
- Had a demo with project manager
- Revamped the upload page to contain progress bars

**Thoughts:**
- Using `[ngClass]` for angular still has bugs with bootstrap

-----

> Had to put a hold on the project for 6 days
> **reason**: Client want a revamp of the UI
> 

### Day 21: Monday, May 24, 2020
**Today's Progress**:
- Revamped the child routing for Angular
- Used modules to differentiate each dashboard
-----
### Day 22: Tuesday, May 25, 2020
**Today's Progress**:
- Continued work on child routing
> Adding different routes and having to change the routes
**New knowledge:**
- Found out the difference between setting `pathMatch: 'full'` & `pathMatch: 'prefix'`
-----
### Day 23-26: Wednesday, May 26, 2020 - Saturday, May 29, 2020
**Today's Progress**:
- Continued work on child routing
> Adding different routes and having to change the routes by making sure I have only services in providers and entitities in Typeorm Modules
-----
### Day 28: Monday, May 31, 2020
**Today's Progress**:
- Made a small visit to server code
- Added code for Agent Methods
> Was able to overcome the fear of cyclic redundancy in NESTJs
-----
### Day 29: Tuesday, June 1, 2020
**Today's Progress**:
- Created assign Project to Agent method
- Created page to show projects assigned to Agent
-----
### Day 30: Wednesday, June 2, 2020
**Today's Progress**:
- Added option to unassign project from agent
- Added `ng-bootstrap` to ease UI design
----
### Day 31: Thursday, June 3, 2020
**Today's Progress**:
- Removed `ng-bootstrap`
- Added View Details to Agent Dashboard
----
### Day 32: Friday, June 4, 2020
**Today's Progress**:
- Revamped Admin Dashboard to; Added Datatables options
- Changed the way projects display
- Removed Graph
------
### Day 33: Sunday, June 5, 2020
**Today's Progress**:
- Started with agent reports
- Wrote the backend code for crud reports
-----
