altcampus
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Write
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note No publishing access yet

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.

      Your account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

      Your team account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

      Explore these features while you wait
      Complete general settings
      Bookmark and like published notes
      Write a few more notes
      Complete general settings
      Write a few more notes
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Help
Menu
Options
Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Write
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note No publishing access yet

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.

    Your account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

    Your team account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

    Explore these features while you wait
    Complete general settings
    Bookmark and like published notes
    Write a few more notes
    Complete general settings
    Write a few more notes
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # The Ultimate Guide to MERN Stack Full Stack web development is gaining traction in IT industry as it allows developers to create a full fledged application from creating a simple web page to making it live on the internet. It requires knowledge of different technologies. MERN stack which is powered by Javascript, allows developers to create Full stack applications without the knowledge of any other programming language. This guide covers the what, why, and how, required to start the MERN stack development. ### What does MERN stand for? **MongoDB, Express.js, React.js & Node.js** ## What is MERN Stack ? MERN is a `technology stack` used to develop a full-stack software application. A technology stack is basically a set of frameworks and tools which facilitate the development of an application. MERN stack laverages below frameworks/tools for creating full-stack applications:- 1. MongoDB - MongoDB is the database layer for the full-stack application used to store and manage data. - It is an open-source, NoSQL, document based database which stores data in the binary JSON format. - It is highly scalable and can be used to store large volumes of data. 2. Express.js Framework - ExpressJS is an open source, unopinionated, lightweight framework built on top of NodeJS. - It uses Javascript on the server side to create fast and secure back-end applications. - You can use Model, View & Controller (MVC) pattern to create server-side applications. 3. React.js - React is an open-source front-end JavaScript library designed by Facebook. - React is declarative, efficient and flexible for building user interfaces. - It allows you to compose complex user interfaces from small and isolated, reusable pieces of code called `components` - It is fast, scalable and offers code reusability. - It uses JavaScript on the frontend platforms like browser, mobile applications etc. 4. NodeJS - Node.js is the back-end layer which hosts the server created using JavaScript. - It is open-source, cross-platform which uses JavaScript(outside the browser) to create server side tools and applications. - Express.js framework is built on top of Node.js to facilitate web development. - Node.js hosts thousands of public/private packages via NPM to facilitate application development over multiple domains. ### Why should you learn MERN Stack ? - Using Javascript for both front-end and back-end reduces the learning time and cost as you don't need to learn any other language for separate client and server side applications. - You can create full stack applications, mobile applications using React native, desktop applications using Electron.js - All you need is JavaScript. - MongoDB as the database uses JSON(Javascript Object Notation) format to store and manage data which is standard nowadays for exchange of information in a full-stack application from client to server and vice-versa, and can be easily integrated in MERN Stack applications. Here are [10 reasons why you should learn MERN stack.](https://altcampus.school/community/posts/why-should-you-learn-MERN-stack) ### Are there other tech stacks ? Yes, there are other stacks as well. They may use languages other than Javascript. - MEAN Stack (MongoDB, ExpressJS, AngularJS & Node) - MEVN Stack (Angular replaced by Vue.js) - LAMP Stack (Linux, Apache, MySQL & PHP) - Rails + React.js and many more. ### Pre-requisites for learning MERN Stack - Basic knowledge of Unix commands - Good understanding of HTML/CSS concepts - Grasp on JavaScript fundamentals - Basics of MongoDB is a plus. You can learn more about the [concepts you need to learn before starting MERN here.](https://altcampus.school/community/posts/prerequisites-for-learning-MERN-stack) ### Various layers of MERN Stack ![MERN stack architecture](https://i.imgur.com/Cxd49OJ.png) <!-- <img src="./layers.png" style="width: 70%; float: center; padding: 20px;" /> --> MERN Stack applictaions follows a 3 layer architecture pattern which is based on a typical MVC model. 1. **Client layer(Views)** - These are views(webpages) which is visible to the client. - Client layer will be developed using React which combinedly uses Javascript, HTML & CSS. - On this layer, end users tries to access the feature of our application. 2. **Application Layer** - This is the business logic layer which is an Express application on top of Node.js platform. - This application server acts as the bridge of communication between client & database layer. - This layer accepts client's requests and serves them by fetching appropriate data from database layer. 3. **Database Layer** - Database layer runs the mongoDB server. - All application data is stored in this mongoDB database. ### How does MERN Stack work ? In a full-stack MERN application, the client layer(React application) which is accessible by the end users makes request for web pages. These requests go to the application server which is the logical layer. It determines what data/web-pages a client needs and makes request to database(database layer) for fetching this informtaion. Finally the backend server(application layer) passes required data/web-pages to React application which renders the data on web-page for the clients. Let's walk through a scenario to understand the working of MERN stack applications. **Register user for an application** - React application(client layer) displays a registration form on a webpage. - End user fills the form and submits required data for registration. - The user data is transferred from client to server(application layer) over http. - Server receives the data and validates user's credentials. - After validation, server sends user data to be saved into database(database layer). - After success/failure confirmation from database, server sends a response to react over http. - Based on success/failure, react application displays an appropraite message to client. ### Roadmap for learning MERN Stack and becoming a full stack developer Remember, the core necessity to become a full stack MERN developer is to have sound technical knowledge of underlyng languages like HTML/CSS and JavaScript. There after, we can proceed to individual platforms/libraries based on the chosen stack. A full-stack MERN developer should be prolific in different technologies like 1. Frontend(React) 2. Backend(Node/Express) 3. Database Management(MongoDB) 4. Version Control(Git) 5. Operating Systems(linux/Mac/Windows) Here's a [complete roadmap to learn and become a MERN stack developer](https://altcampus.school/community/posts/the-complete-roadmap-to-learn-full-stack-web-development-using-the-MERN-stack) ### How long does it take to learn MERN stack ? It depends on the fundamental skill set. If you have sound technical knowledge of underlying languages like HTML, CSS and JavaScript; it would take around 8-10 weeks to become a beginner level MERN stack developer with hands-on practice. 1. Node.js Fundamentals(1 week) 2. ExpressJS & MongoDB Database(3-5 weeks) 3. React Fundamentals(2-3 weeks) For understanding the advanced concepts of ReactJS like `Context API`, `State management using Redux` & `React hooks`, It may take additional 2-3 weeks. If you are starting out on the developer journey, you need to understand the fundamentals of web like HTML, CSS & Javascript. It may take around additional 8-10 weeks to grasp the fundamentals. 1. HTML/CSS(3-4 weeks) 2. Javascript Fundamentals(3-4 weeks) 3. Javascript DOM(2 weeks) So, in total it will take between 18-30 weeks to become a full-stack developer on MERN stack, starting from absolute scratch. Our [program at AltCampus](https://altcampus.school) takes you all the way from zero to a full-stack employable MERN developer in about 6 months of time. ### What is the salary of a MERN Stack developer ? The salary of a full stack developer depends on 3 different factors. 1. Location 2. Skillset 3. Experience The average salary of a full stack developer varies across different continients. ![Average salary of MERN stack developers](https://i.imgur.com/mCCGWMI.png) <!-- <img src="./full-stack-developer-sal.png" style="width: 70%; float: center; padding: 20px;" /> --> The average starting full-stack developer salary in India is around ₹589,578 or $7800, and that in the United States is around $86,121. Since MERN stack is the most popular and widely used among all stacks for full-stack development, the average salary in India is around ₹723,000 or \$9717. Here is an in-depth post explaining [the salary, growth, and career of a full-stack developer.](https://altcampus.school/community/posts/full-stack-developer-career-salary) ### How to learn MERN Stack ? The key to learning MERN stack development is to follow a systematic step by step approach for major concepts in a specific order. - Start with Node.js - Learn key concepts, work on few small projects - Move to mongoDB, learn to use the database - learn Express, create small CRUD applications - Use MongoDB database with Express application - Learn to create REST APIs using Express & MongoDB - Learn React, make small Todo application - Learn how to manage state in React and fetch data from APIs - Use REST API to fetch data and render components by building say a shopping cart frontend in React.js - Lastly, create full stack applications like Blog App, Bookstore etc. Checkout [our roadmap]([./roadmap.md](https://altcampus.school/community/posts/the-complete-roadmap-to-learn-full-stack-web-development-using-the-MERN-stack)) for a detailed overview of all the concepts needed for being a MERN stack developer. Our [AltCampus Course](https://altcampus.school) covers all of the above steps. If you are just starting out your developer journey, checkout [our course](https://altcampus.school) for a detailed, step by step process which includes Videos, Assignments, Projects & Feedback Videos for Assignments etc. It is for absolute beginners who are new to programming and needs no prior knowledge of programming. ### What are some key concepts to learn in MERN Stack ? MERN Stack is built of 4 robust technologies i.e. MongoDB, Express.js, React.js and Node,js. To be a MERN Stack developer, one should have working knowledge of all the above technologies. Here's an article detailing [key concepts to learn in MERN Stack](https://altcampus.school/community/posts/). ### What are some MERN stack beginner projects that you can build to learn ? While learning individual technologies(Node/Express, React), you can create small projects like - - Todo App(Express) - Photo Gallery(Express) - Instagram clone(React) - Movies catalog(React) etc. to grasp smaller detailed concepts. A MERN application involves both frontend and backend along with database to create a full stack application. A full stack developer needs to figure out the UI, create backend APIs which can serve data to fronend application, integrate it with the database for managing application data, think of different ways data could be saved for faster processing and all possible CRUD applications. Few full stack MERN projects which a beginner developer can start with are: #### 1. Personal Project Management Tool - This project can help you gather all your learning projects in one app. You can use MongoDB database for storing all project details like project name, details, url link, github repository etc. - Using React, create webpages where you can list all the projects. - Express application linked to mongoDB database can serve data to React application #### 2. Public Blog App Create a blog application where users can - Login/Signup to the application - Create articles - View list of all the articles - Edit/Delete his/her own articles - Add categories, tags and filters to list blog page - Follow other article authors - Favorite/like articles - Add comment to the articles #### 3. Social Media App for local handicrafts Social media app where people can connect with other people, view local handicrafts being created in the area, share their own crafts and creatives, etc. Here are [10 full stack project ideas for beginner MERN stack developers](https://altcampus.school/community/posts/10-full-stack-beginner-project-ideas-for-learning-MERN-stack). ### What are the best MERN stack courses and bootcamps? There are a lot of tutorials online to learn MERN stack. 1. [The MERN Fullstack Guide](https://www.udemy.com/course/react-nodejs-express-mongodb-the-mern-fullstack-guide/) on Udemy 2. Checkout [freeCodeCamp](https://www.freecodecamp.org/) It has all the resources available free to kick start the MERN Fullstack Journey. 3. Checkout [Full-Stack Web Development with React Specialization](https://www.coursera.org/specializations/full-stack-react) by Coursera in collaboration with The Hong Kong University Most of these courses have good video content but they lack a strong feedback mechanism which could track students progress on a daily/weekly basis. They have community but you need to wait hours to get a response. Take a look at our [AltCampus full-stack MERN course](https://altcampus.school/). AltCampus is an online programming bootcamp designed to help you learn full-stack web development and become job-ready. It is 100% online, Project based and provides unparalleled learning support at each step of learning. Take a look at the [AltCampus Curriculum](https://altcampus.school/curriculum). It has 14 modules, 80+ topics to learn, 200+ exercises for practice and more than 40 projects to strengthen your portfolio. It's a 6 month immersive program which provides:- - Step by step content from scratch with timeline to complete it - Exercises and projects after each topics to practice concepts - Feedback videos for exercises to learn best practices and cement concepts learnt - 24\*7 Community Support using Slack - Major projects as Checkpoints inside each module to test entire module concepts You can additionally upgrade to avail - one-to-one mentor review & feedback for each Checkpoints(Major projects) - Daily Doubt Clearing Session at fixed time - Cohort or Self paced learning where each cohort has fixed size of max 10 students - Live sessions weekly for important concepts - Bi-weekly hackathons to work on your idea and build something useful ### Is MERN stack production ready and scalable? Yes, MERN stack is production ready as well as massively scalable. You can deploy a full-stack MERN application easily on all big platforms like AWS, DigitalOcean as well as heroku(for small applications). You can even deploy them indivisually as frontend(React App) and Backend(Express App) separately on these platforms. They even have managed services exclusively for deploying Node/React based applications. MongoDB database which is used to store MERN stack application data is massively scalable as it can scale horizontally by adding multiple database servers as per application requirements. MongoDB also supports replication which can provide high availability of data all the time. ### Most fequently asked MERN stack interview questions - What is Event loop & how it manages tasks in Node ? - How Node handles concurrency if Javascript is single threaded ? - What is blocking code ? Give examples to differentiate it from non-blocking code. - What is callback hell & how to avoid this ? - Explain important features of MongoDB ? - What is the difference between association and referencing in MongoDB ? - What are Indexes and how are they helpful ? - What is prop drilling in react and way to avoid it ? - Explain virtualDOM ? - What are Higher Order Components ? - Differnece between smart and dumb components ? - Explain lifecycle method and their sequence of execution ? - Explain React Context API ? Here's an article detailing [frequently asked MERN stack interview questions](https://altcampus.school/community/posts/frequently-asked-MERN-interview-questions). ### What are the MERN stack developer jobs ? As a MERN stack developer, you will be assigned one or multiple of given stacks to work with. It could be as - Frontend developer - Backend developer - Full stack developer(Frontend + Backend) - Database administrator - Deployment and tesing 1. Frontend Developer - As a frontend developer, you will be creating UI components using React. - Fetch data from backend using APIs - Use redux for state management - You will have to design website layouts using HTML/CSS - Create smaller, reusable components using React 2. Backend Developer - Create APIs using node/express for serving it to client(React application) - Integrate Express app with mongoDB database - Design data models for storing application data in mongoDB - Secure Express server and mongoDB database - Develop login for different features in the Express application like - User Authentication - Authorization - Access rights for different users - Managing static assets and multimedia files - hashing sensitive information in the database - Ensuring validation for data being saved in the database - Add appropriate routes for different actions made by the client to server relevent data 3. Database Admin - Securing the database - Providing access rights to different database users - Replication for high availability - Scheduled Backup in case of database crash 4. Full Stack Developer As a Full Stack developer, you might have to work on all of the above technologies simuntaneously. You may have to create an entire application from the scratch which will require you to - Create UI components using react in Frontend - Design Database Models for applicatio data - Setup Database for saving applicatio data - Develop logic in backend & create API routes to serve data to client based on events - Connect Frontend with Backend application - deploy application on the remote server(AWS, Digitalocean, Heroku) - Host application on a domain ### What are some of the most popular companies using MERN stack? There are hundreds of companies which have been developed using MERN stack technology. A few widely popular ones are:- - Facebook - Netflix - Paypal - Airbnb - DropBox - BBC ### Things to prepare before applying for MERN Stack Developer Job - Create [a personal portfolio Website](https://altcampus.school/community/posts/how-to-build-a-great-portfolio-as-a-beginner-developer) listing all your experiences and projects - Add 2-3 good MERN projects to your portfolio which should be live on some url. - Showcase your Github Projects - Solve DS & Algo problems to develop strong logic using Codewars, HackerRank, Codechef etc.. - Revise Fundamentals of Javascript, React & Node/Express. - Checkout [Interview Questions for MERN Stack Developers](https://altcampus.school/community/posts/frequently-asked-MERN-interview-questions) **If possible** - Contribute to the open-source MERN projects ### Where to find MERN stack jobs ? There are several job portals where you can find Fullstack MERN job opportunities. 1. [LinkedIn](https://www.linkedin.com/jobs/mern-stack-jobs) 2. [AngelList is the #1 startup hiring platform](https://angel.co/jobs) 3. [Stack Overflow Jobs](https://stackoverflow.com/jobs?q=full+stack) 4. [Apply at Glassdoor](https://www.glassdoor.co.in/Job/mern-stack-developer-jobs-SRCH_KO0,20.htm) 5. [Apply at Indeed](https://in.indeed.com/Mern-Stack-jobs) ### MERN stack vs MEAN stack ? MEAN stands for MongoDB, ExpressJS, AngularJS & Node MERN stands for MongoDB, ExpressJS, React & Node Both uses Javascript language for different technologies(frontend & backend) to create Full stack applications. The difference is: - MEAN Stack uses AngularJS for creating frontend UIs - MERN Stack uses ReactJS in place of AngularJS for frontend UIs. There are other differences as well:- - Angular uses Typescript language for UI whereas React uses mostly Javascript and JSX sometimes. A full stack MERN developer uses Javascript at all the places and context switching between frontend and backend becomes smooth and easy. - Angular is a tightly coupled framework with different versions which requires you to understand each parts, hence a steep learning curve. On the other hand React is an open source library composed of small, reusable Javascript components which is easy to learn. React documentation is a great help for beginner React learners as it is clear and consize. - React uses virtualDOM which facilitates smooth rendering and it also enforces minimal chages in the UI based on the changed state by comparing virtualDOM with actual rendered component. It helps application to render only the thing which is changed from previous page. - React offers better productivity compared to Angular as we can easily create small, reusable components once and use it multiple times in same or other applications. - Angular has bidirectional data flow which in case of larger applications makes it harder to track the source of data changes. There would be a lot of actions which would mutate data all the times. In React, data flow is unidirectional and only certain actions can change the data present in the store. This will save the data from unnecessary mutations and it can be easily tracked. - React is more suited for Native mobile app development whereas we can use Angular for this. According to the 2019 HackerRank Developer skills report, Angular was the most popular choice of a web framework that programmers knew in 2018. This changed in 2019, the same report found that 30% of developers in 2019 wanted to learn the React framework, making it the most popular. The lack of backward compatibility between Angular 2 and Angular 1 seems to have adversely impacted the popularity of Angular as both have their own learning curve. React on the other hand is gaining widespread popularity among developers in 2021. It supports easy integration with other Javascript libraries and modules and has better community support than Angular. That's a wrap up on the ultimate guide to MERN stack. Happy learning.

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password
    or
    Sign in via Google Sign in via Facebook Sign in via X(Twitter) Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    By signing in, you agree to our terms of service.

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully