# Project Diary
###### tags: `Skills for Engineers`

# 2nd presentation - 9/5
- **todoList To The Moon**
- Minh xong authen: 29/4
- bàn nội dung slide + ngày thuyết trình thử
- Slides: Khoa
- Sections:
- 1. Introduction: Minh
- Idea & inspiration
- 2. Architecture (MVC etc.): Nghĩa
- tech stack
- deployment
- 3. Features: Đăng
- add/delete note/list
- authentication
- 4. Demonstration: Dương
- 5. Conclusion + Further development: Khoa
# Presentation
- 9h 27/2: presentation rehearsal
- Nghĩa: prepare slides
- Tasks:
- Section 1: Dương
- Section 2: Minh
- Section 3: Nghĩa
- Section 4: Khoa
- Section 5: Đăng
<details>
<summary><b>12/02 - Brainstorm</b></summary>
:::info
- **Location:** Google Meet
- **Date:** Feb 12, 2022 8:00 PM (CET)
- **Agenda**
1. Review Previous Ideas and Criteria `15min`> [name=Khoa]
2. Brain Stormming 45min
- List criteria and brainstormming
- **Participants**
- Nghia
- Khoa
- Duong
- Dang
- Minh
- **Host:** Khoa
- **Reference:**
:::
## 1. Define and agree on goals
- Protect the privacy (for sensitive topics).
- Enhance freedom of speech.
- Provide objective, non-biased viewpoints.
- Anonymous => reduce risk of cyberbullying.
- Timeline: 10 weeks
- Starting Date: Jan 17, 2022
- Week 1: Indentify Problems, Criterias, Constraints
- Week 2-3: Brainstorm Solutions, Ideas, Approaches
- Week 4-9: Select Approach, Design => Build Prototype
- Week 10: Refine the design
## 2. Give ideas, suggestions
- Front-end: ReactJS, tailwindcss, Bootstrap, Sass, Bulma.
- Reddit clone
- Back-end: Firebase, NodeJS
- Decentralized / Centralized
- Web hosting: Vercel, Github, Netlify, ngrok
- User should have user name?
- yes, refer to Reddit (anonymous with online identity)
- Secure: Not like Facebook
- Identity is secured
- Features: ref(Reddit)
- Social Post: public only, in threads
- Allow comment, discussions, reactions
- Share social link
## 3. Sort, combine, and refine ideas
- Front-end: Reddit clone
- Back-end: Firebase, NodeJS
- Decentralized
- Web hosting: Vercel
## 4. Analyze and evaluate the effects + Prioritize your options
- Front-end: Reactjs and Tailwindcss Reddit clone
- Pros:
- Reddit clone:
- Relistic example to follow
- Reactjs:
- Reusable Components
- Performance Enhancement
- SEO Friendly
- Tailwindcss
- Fast generate styling
- Cons:
- Steep learning curve
- Back-end: Firebase, NodeJS
- Pros:
- Firebase:
- Free basic plan
- Quick and easy integration and setup
- NodeJS:
- Shallow learning curve
- Cons:
- Firebase:
- Limited data migration
- NodeJS:
- Every time using a callback end up with tons of nested callbacks
- Decentralized
- Pros: inherently scalable + better security
- Cons: hard to implement right
- Web hosting: Vercel
- Pros: Free, Fast deployment
- Cons: Limit of deployment
## 5. Agreement on action and implementaion time
- Tasks + Responsibilities:
- Frontend (Khoa, Minh):
- Task:
- Research about Reactjs(Khoa) and Tailwindcss(Minh)
- Init Reactjs base
- Deadline: Feb 13, 2022
- Backend (Đăng, Nghĩa, Dương):
- Task:
- Research about Firebase, NodeJS
- Research about Decentralized methods
- Create Firebase account
- Deadline: Feb 13, 2022
-we have done this and from tomorrow, we will carry on the execution phase within 2 sub-teams
## Monitor implementation of decisions
- Team follow the tasks and requirements
- Update on the next meeting via Google Meet
-
</details>
<details>
<summary><b>17/01</b></summary>
## Topic
- **anonymous social network with many threads**
- web app: front-end + back-end
- decentralized/blockchain
- refer to BitTorrent:
- Vercel: host app
- central server to store metadata (FireStore)
- data are spreaded among clients in a decentralized manner
- how? the browser knows when to look for the data?
### Identify the problem
- privacy (for sensitive topics)
- freedom of speech
- equality
- cyberbullying
### Identify criteria \& constraints
- anonymous
- scalable (stable at 1000 clients at a time)
- user-friendly
- fast response (< 100ms)
- internet connection
- responsive web app
</details>