<5 mins to read>
Hello all,
Dc dịp có thời gian rảnh kha khá, cũng như đam mê thì lúc nào cũng bùng cháy. Thoy làm lun 1 PET Project cho nóng 😀
Tạo ra challenge cho bản thân: At least 1 commit per day to GitHub. Và mình đang follow khá tốt 😀
Vậy nên mình cũng bắt đầu 1 series trên blog của mình luôn. Ở đây 2 ngôi sao chính cụ thể là:
- TypeScript
- NestJS
Nếu các bạn để ý trên navigation bar, chúng ta đã có TypeScript trong mục Lập Trình rùi nhá =))
1/ Về PET Project của mình
Cụ thể là 1 simple note có tên là Passing Through Note, nơi dành riêng cho những người đơn giản, cụ thể:
- Visit – ghé thăm
- Note – ghi chú
- Leave – rời
- Repeat – lặp lại
Với idea này, nó phù hợp cho use-case hằng ngày của mình và cũng có thể là của bạn 😀 Chứ mình đang khá nản dần với Evernote =))
Repositories:
- Frontend: https://github.com/sethsandaru/passing-through-note
- Vue + SPA
- Jest for Unit Testing
- Backend: https://github.com/sethsandaru/path-note-backend
- TypeScript
- NestJS framework
- MySQL/MariaDB
- Jest for Unit Testing
Github Profile: https://github.com/sethsandaru
[Contribution Chart ở đây / Link trên để dô GitHub check =))]
2/ TypeScript
Tại sao mình lại chọn TypeScript? TS là 1 lang cũng khá hot hiện tại, 1 trong những yếu tố dẫn đến độ hot của nó là:
- Strongly typed – ko có weakly như JS và buộc bạn làm việc fải rõ ràng hơn (Như Java, C#)
- Big community – ko thua gì JS, community của TS cũng siêu to khổng lồ
- Backed by a big company – bảo kê bởi Micro$oft
- …
Mình chọn Tai sờ ríp – TS vì:
- PET Project mà, thử mấy cái mới rather hơn dùng những cái đã biết. Vì mình đã làm hơn chục cái với Laravel & Lumen chán ngắt r =))
- Muốn làm trên 1 strongly typed language, đã suy nghĩ dùng Golang hoặc Java + Spring hoặc Kotlin + Spring. Nhưng cuối cùng mình chọn TS, 1 fần để mình improve hơn NodeJS nữa :))
- Mình nắm rõ những syntax của ES6 và ES7 (ES5 cực cứng rùi), quá trình từ JS nhảy qua TS cực kỳ nhanh (nhanh thật :x)
3/ NestJS
Vì từ ngữ nó gần như nhau, đôi khi có thể 1 số bạn nhầm giữa NestJS và NextJS (của FB), mà có nhầm thì cũng do pronunciation âm X của bạn thui :))
Mình có dạo sơ 1 số framework, end-up với thằng NestJS vì:
- Cấu trúc modular của nó khá tốt, mọi thứ phân chia, structural ổn định. Điều này làm cho mình cảm nhận việc Maintainable nó thực sự tốt.
- Funtalmentals của nó khá hay, đọc sơ qua vài cái thì mình hình dung dc bao quát của NestJS.
- Đồ chơi nhiều, ko thua kém gì thằng Laravel cả
- Mainly vẫn nhắm tới WebService Restful APIs
- …
Thế nên mình quyết định chọn luôn, 1 phần nữa là nó là framework dành cho TS.
3.1/ Tại sao mình chọn Relational Database than NoSQL
Mình đã thử vẽ database của mình ra và đánh giá thử thì mình thấy database của mình.
Với NoSQL, nó chỉ phù hợp với 1 khía cạnh dành cho app của mình, còn lại thì nó hơi …
Thế nên vẫn end-up với thằng MySQL/MariaDB. Đáng lẽ mình nên dùng PostgreSQL ngay từ đầu 😀
3.2/ TypeORM
Là một trong những library mà mình sử dụng cùng với NestJS. Một ORM library khá mạnh mẽ cho đội NodeJS (Vẫn yêu Eloquent <3 nhiều nhé =)) )
Một trong những lý do chính là documentation của NestJS khuyên dùng và có tích hợp native => Good enough.
4/ Tiếp theo là gì?
Mình sẽ update những cái hay, những cái mình học dc trong quá trình tìm hiểu TypeScript cũng như là NestJS. Hằng ngày (nếu có thể)
NestJS Documentation: https://docs.nestjs.com/
Learning for beginnger: NestJS For Absolute Beginners – CodingTheSmartWay.com
Vẫn khuyên các bạn đọc introduction, fundalmentals, dạo sơ NestJS docs rùi hãy xún link dưới nhé =))
Thanks for reading!
One thought on “Em yêu khoa học: TypeScript & NestJS”