23 |
24 | ## Table of Contents
25 |
26 | - [Table of Contents](#table-of-contents)
27 | - [About The Project](#about-the-project)
28 | - [Getting Started](#getting-started)
29 | - [Pre requisites](#pre-requisites)
30 | - [Installation and Running example](#installation-and-running-example)
31 | - [Available Scripts](#available-scripts)
32 | - [`npm start`](#npm-start)
33 | - [`npm run build`](#npm-run-build)
34 | - [Usage](#usage)
35 | - [Learn More](#learn-more)
36 | - [Deploy on Vercel](#deploy-on-vercel)
37 | - [References](#references)
38 | - [Documentation](#documentation)
39 | - [Contributing](#contributing)
40 | - [Want to hack on IPFS?](#want-to-hack-on-ipfs)
41 |
42 | ## About The Project
43 |
44 | - Read the [docs](https://github.com/ipfs/js-ipfs/tree/master/docs)
45 | - Look into other [examples](https://github.com/ipfs-examples/js-ipfs-examples) to learn how to spawn an IPFS node in Node.js and in the Browser
46 | - Consult the [Core API docs](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api) to see what you can do with an IPFS node
47 | - Visit https://dweb-primer.ipfs.io to learn about IPFS and the concepts that underpin it
48 | - Head over to https://proto.school to take interactive tutorials that cover core IPFS APIs
49 | - Check out https://docs.ipfs.io for tips, how-tos and more
50 | - See https://blog.ipfs.io for news and more
51 | - Need help? Please ask 'How do I?' questions on https://discuss.ipfs.io
52 |
53 | ## Getting Started
54 |
55 | ### Pre requisites
56 |
57 | Make sure you have installed all of the following prerequisites on your development machine:
58 |
59 | - Git - [Download & Install Git](https://git-scm.com/downloads). OSX and Linux machines typically have this already installed.
60 | - Node.js - [Download & Install Node.js](https://nodejs.org/en/download/) and the npm package manager.
61 |
62 | ### Installation and Running example
63 |
64 | ```console
65 | > npm install
66 | > npm start
67 | ```
68 |
69 | Now open your browser at `http://localhost:3000`
70 |
71 | ### Available Scripts
72 |
73 | In the project directory, you can run:
74 |
75 | #### `npm start`
76 |
77 | Runs the app in the development mode.
78 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
79 |
80 | The page will reload if you make edits.
81 | You will also see any lint errors in the console.
82 |
83 | #### `npm run build`
84 |
85 | Builds the app for production to the `dist` folder.
86 | It correctly bundles in production mode and optimizes the build for the best performance.
87 |
88 | ## Usage
89 |
90 | This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app) integrated with `js-ipfs`.
91 |
92 | You can start editing the page by modifying `pages/index.js`. The page auto-updates as you edit the file.
93 |
94 | [API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.js`.
95 |
96 | The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages.
97 |
98 | ### Learn More
99 |
100 | To learn more about Next.js, take a look at the following resources:
101 |
102 | - [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
103 | - [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
104 |
105 | You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!
106 |
107 | ### Deploy on Vercel
108 |
109 | The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
110 |
111 | Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.
112 |
113 | _For more examples, please refer to the [Documentation](#documentation)_
114 |
115 | ## References
116 |
117 | - Documentation:
118 | - [IPFS CONFIG](https://github.com/ipfs/js-ipfs/blob/master/docs/CONFIG.md)
119 | - [MISCELLANEOUS](https://github.com/ipfs/js-ipfs/blob/master/docs/core-api/MISCELLANEOUS.md)
120 | - [FILES](https://github.com/ipfs/js-ipfs/blob/master/docs/core-api/FILES.md)
121 | - Tutorials:
122 | - [MFS API](https://proto.school/mutable-file-system)
123 | - [Regular File API](https://proto.school/regular-files-api)
124 |
125 | ## Documentation
126 |
127 | - [Config](https://docs.ipfs.io/)
128 | - [Core API](https://github.com/ipfs/js-ipfs/tree/master/docs/core-api)
129 | - [Examples](https://github.com/ipfs-examples/js-ipfs-examples)
130 | - [Development](https://github.com/ipfs/js-ipfs/blob/master/docs/DEVELOPMENT.md)
131 | - [Tutorials](https://proto.school)
132 |
133 | ## Contributing
134 |
135 | Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**.
136 |
137 | 1. Fork the IPFS Project
138 | 2. Create your Feature Branch (`git checkout -b feature/amazing-feature`)
139 | 3. Commit your Changes (`git commit -a -m 'feat: add some amazing feature'`)
140 | 4. Push to the Branch (`git push origin feature/amazing-feature`)
141 | 5. Open a Pull Request
142 |
143 | ## Want to hack on IPFS?
144 |
145 | [](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)
146 |
147 | The IPFS implementation in JavaScript needs your help! There are a few things you can do right now to help out:
148 |
149 | Read the [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md) and [JavaScript Contributing Guidelines](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md).
150 |
151 | - **Check out existing issues** The [issue list](https://github.com/ipfs/js-ipfs/issues) has many that are marked as ['help wanted'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22help+wanted%22) or ['difficulty:easy'](https://github.com/ipfs/js-ipfs/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Adifficulty%3Aeasy) which make great starting points for development, many of which can be tackled with no prior IPFS knowledge
152 | - **Look at the [IPFS Roadmap](https://github.com/ipfs/roadmap)** This are the high priority items being worked on right now
153 | - **Perform code reviews** More eyes will help
154 | a. speed the project along
155 | b. ensure quality, and
156 | c. reduce possible future bugs.
157 | - **Add tests**. There can never be enough tests.
158 | - **Join the [Weekly Core Implementations Call](https://github.com/ipfs/team-mgmt/issues/992)** it's where everyone discusses what's going on with IPFS and what's next
159 |
--------------------------------------------------------------------------------