# 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
-----