|
1 |
| -## DFINITY Examples for the Internet Computer |
| 1 | +# Internet Computer sample applications |
2 | 2 |
|
3 |
| -This repository provides access to sample code, applications, and microservices that run on the Internet Computer platform. |
| 3 | +Get started building on ICP with the sample applications in this repository. From this repository, you can deploy, download, clone, fork, or share sample projects. |
4 | 4 |
|
5 |
| -From this repository, you can download, clone, fork, or share sample projects. |
| 5 | +The projects in this repository are not intended to be used as commercial applications and do not provide any explicit or implied support or warranty of any kind. |
6 | 6 |
|
7 |
| -You will also be able to contribute your own project or suggest updates to published projects using the standard Git work flow. |
| 7 | +You can also contribute your own project or suggest updates to published projects using the standard GitHub workflow. |
8 | 8 |
|
9 |
| -Sample projects provide a way for you to experiment and collaborate with other developers. |
10 |
| -The projects and sample code are not, however, intended to be used as commercial applications and do not provide any explicit or implied support or warranty of any kind. |
| 9 | +## Sample applications |
11 | 10 |
|
12 |
| -To get started: |
| 11 | +Code samples are organized by programming language: |
13 | 12 |
|
14 |
| -1. Open a terminal shell on your local computer. |
| 13 | +- [Motoko](https://github.com/dfinity/examples/tree/master/motoko) |
| 14 | +- [Rust](https://github.com/dfinity/examples/tree/master/rust) |
| 15 | +- [C](https://github.com/dfinity/examples/tree/master/c) |
15 | 16 |
|
16 |
| -1. Download the DFINITY Canister SDK, if needed: |
| 17 | +Some examples include frontends written in a variety of frameworks, such as React, JavaScript, etc. |
17 | 18 |
|
18 |
| - ``` |
19 |
| - sh -ci "$(curl -fsSL https://internetcomputer.org/install.sh)" |
20 |
| - ``` |
| 19 | +Additional frontend samples can be found in the following folders: |
21 | 20 |
|
22 |
| -1. Select a language—for example, `c` or `motoko`—to explore the examples available in the language of your choice. |
| 21 | +- [Svelte](https://github.com/dfinity/examples/tree/master/svelte) |
| 22 | +- [HTML](https://github.com/dfinity/examples/tree/master/hosting) |
| 23 | +- [Unity](https://github.com/dfinity/examples/tree/master/native-apps) |
23 | 24 |
|
24 |
| -1. Clone the repository to download the `examples` repo to your local workspace. |
| 25 | +## Deploying samples |
25 | 26 |
|
26 |
| -1. Open the project folder for the example you want to use. |
| 27 | +### GitHub Codespaces or Gitpod |
27 | 28 |
|
28 |
| -1. Start a local internet computer replica by running the following command: |
| 29 | +This repo can be opened in a web-based developer environment such as [GitHub Codespaces](https://github.com/codespaces) or [Gitpod](https://www.gitpod.io/), allowing you to edit and deploy the sample projects without downloading any tools or setting up a local environment. |
29 | 30 |
|
30 |
| - ``` |
31 |
| - dfx start |
32 |
| - ``` |
| 31 | +[Get started with GitHub codespaces](https://internetcomputer.org/docs/current/developer-docs/developer-tools/ide/codespaces). |
33 | 32 |
|
34 |
| -1. Open a new terminal shell on your local computer. |
| 33 | +[Get started with Gitpod](https://internetcomputer.org/docs/current/developer-docs/developer-tools/ide/gitpod). |
35 | 34 |
|
36 |
| -1. Build the sample project by running the following command: |
| 35 | +### Motoko Playground |
37 | 36 |
|
38 |
| - ``` |
39 |
| - dfx build |
40 |
| - ``` |
| 37 | +Motoko Playground is a web-based developer environment for Motoko projects. To use Motoko Playground, navigate to the [playground UI](https://m7sm4-2iaaa-aaaab-qabra-cai.ic0.app/) and select a template to get started, or start a new project. |
41 | 38 |
|
42 |
| -## Security Considerations and Best Practices |
| 39 | +### dfx |
43 | 40 |
|
44 |
| -If you base your application on one of these examples, we recommend you familiarize yourself with and adhere to the [Security Best Practices](https://internetcomputer.org/docs/current/references/security/) for developing on the Internet Computer. The examples provided here may not implement all the best practices. |
| 41 | +dfx is a command-line tool used to create, deploy. and manage projects on ICP. To download and use dfx with this examples repo, run the following commands locally (macOS/Linux systems): |
| 42 | + |
| 43 | +``` |
| 44 | +git clone https://github.com/dfinity/examples.git |
| 45 | +cd examples |
| 46 | +sh -ci "$(curl -fsSL https://internetcomputer.org/install.sh)" |
| 47 | +``` |
| 48 | + |
| 49 | +Then, navigate into the folder of the sample that you want to use and follow the project's README instructions to setup and deploy the sample code. |
| 50 | + |
| 51 | + |
| 52 | +## Resources |
| 53 | + |
| 54 | +- [ICP Developer Docs](https://internetcomputer.org/docs/current/home) |
| 55 | + |
| 56 | +- [Overview of ICP](https://internetcomputer.org/docs/current/developer-docs/getting-started/overview-of-icp) |
| 57 | + |
| 58 | +- [Installing dfx](https://internetcomputer.org/docs/current/developer-docs/getting-started/install/) |
| 59 | + |
| 60 | +- [Developer tools](https://internetcomputer.org/docs/current/developer-docs/developer-tools/dev-tools-overview) |
| 61 | + |
| 62 | +## Security considerations and best practices |
| 63 | + |
| 64 | +If you base your application on one of these examples, we recommend you familiarize yourself with and adhere to the [security best practices](https://internetcomputer.org/docs/current/references/security/) for developing on the Internet Computer. The examples provided here may not implement all the best practices. |
0 commit comments