Code Monkey home page Code Monkey logo

fcchn-blog's Introduction

Free Code Camp Hanoi Blog Project (Back-end)

Giới thiệu chung


  • fcchn-blog là dự án làm 1 platform giúp mọi người chia sẻ bài viết, với mục đích để học front-end (React) và back-end (Nodejs, Express và MongoDB) của 1 nhóm các thành viên Facebook group freeCodeCamp Hà Nội.

    • Phần front-end được lưu tại đây.
    • Phần back-end được lưu tại đây
  • Những thành viên đăng ký học, code, và đóng góp cho dự án này bao gồm:

    • Front-end
      • Nguyễn Quốc Đại
      • Nguyễn Trung Tuyến
      • Trịnh Minh Tâm
      • Lê Đức Thắng
    • Back-end:
      • Nguyễn Minh Trung
      • Nguyễn Thế Phụng Long
      • Nguyễn Thế Tùng
      • Lương Ngọc Phúc

Cập nhật:

  • 2018.01.15: Bổ sung mục Những điều học được sau dự án
  • 2018.01.10: Thêm thành viên dự án. Quyết định cấu trúc dự án (Back-end và Front-end)
  • 2018.01.03: Tạo dự án

Tính năng và công nghệ


Là một platform để viết blog, nơi các thành viên có thể viết blog, đăng bài, xem bài của mình cũng như của người khác, bình luận vào bài của người khác. Sản phẩm này sẽ học theo các platform viết blog khác như Medium nhưng chỉ dừng ở mức cơ bản. Mục đích cuối cùng vẫn là nắm bắt được những công nghệ cần dùng cho 1 sản phẩm hoàn thiện (xem thêm mục "Những điều học được qua dự án này" ở bên dưới)

Tính năng chi tiết

  1. Đăng ký
  2. Đăng nhập
  3. View profile
  4. Chỉnh sửa profile
  5. Viết blog mới
  6. Chỉnh sửa blog cũ
  7. View danh sách blog của bản thân
  8. View blog của người khác
  9. Xóa blog
  10. Comment
  11. Like
  12. Share Facebook

Công nghệ sử dụng

  • Front-end:
    • React
    • Bootstrap
  • Back-end:
    • Node.js
    • Express.js
    • MongoDB-moongoose
  • Testing:
    • Unit test: Karma, Mochai, Chai, Sinon
    • Automation test: Selenium
  • Bảo mật

Công cụ sử dụng

  1. Visual Design: Gravit Designer
  2. Visual Studio Code

Cấu trúc

  • client
  • server
  • test
  • configuration

Tài liệu tham khảo:


Những điều học được qua dự án này


  • Cách đóng góp vào dự án mã nguồn mở trên Github

    • Hiểu về Git cơ bản: clone, add, commit, push
    • Hiểu về remote và local repositories
    • Biết tạo nhánh (branch) và hiểu về mục đích của việc tạo nhánh
    • Biết cách fork, và pull để cập nhật từ repo gốc
    • Biết cách commitpush lên remote repo của bản thân
    • Biết cách tạo pull request để merge từ remote repo của bản thân vào repo gốc
    • Biết cách cập nhật pull request khi muốn thay đổi hoặc sửa lỗi trước khi merge
  • Làm việc nhóm qua mạng

    • Chọn chủ đề
    • Thống nhất về workflow
    • Ưu nhược điểm của làm việc nhóm
    • Giao tiếp online: ưu nhược điểm.
    • Các công cụ để giao tiếp online
    • Giao tiếp offline: ưu nhược điểm. Cách thức.
    • Cách giải quyết khi có mâu thuẫn
    • Công cụ để quản lý dự án theo nhóm
    • Cách phân chia công việc:
      • Cấu trúc của dự án
      • Nhiệm vụ chi tiết
  • Hiểu và thực hành các công nghệ front-end:

    • Quy trình design:
      • Viết requirement và user stories
      • Sử dụng Gravit Designer để vẽ
    • Bootstrap
    • React
    • React-Router
  • Hiểu và thực hành các công nghệ back-end:

    • Database:
      • MongoDB
      • Mongoose
    • Rest API
    • HTTP (hoặc HTTPs)
    • User Authentication
    • User Authorization
  • Hiểu và thực thành Node.js:

    • Node.js
    • Express.js
  • Hiểu và thực hành unit test cũng như automation test:

    • Unit test sử dụng Karma, Mocha, Chai và Sinon
    • Automation test sử dụng Selenium
  • Biết, thống nhất, và cấu hình cho linting tool

    • Code format khi chạy trên local
    • Code format khi commit lên remote
  • Hiểu cơ bản về bảo mật cho website

    • [ ]
    • [ ]
  • Biết cách cấu hình cho Webpack

  • Triển khai sản phẩm: quản lý asset và Heroku

fcchn-blog's People

Contributors

bangnokia avatar ngminhtrung avatar tamtm avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.