Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions docs/add-juno-to-an-app/create-a-satellite.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,16 @@ Before integrating Juno into your project, you need to create a [satellite].
6. Once the process is complete, click **Continue** to access the overview page.
7. You are set. You can start building 🚀

:::info
---

## Advanced Options

In the creation wizard, there are advanced options available for more experienced developers or those with specific requirements.

Whether you're looking to connect your satellite to an [existing application](setup), [deploy](deploy#deploy-your-app-1) your website, or launch a project [created with a template](../intro.md#starting-a-new-project), you now own a container to shape your project. This smart contract is **controlled exclusively by you 🔐**.
### Selecting a Subnet

:::
If you wish to have more control over where your satellite is deployed, you can select the [subnet] for deployment during the creation process.

[satellite]: ../terminology.md#satellite
[Internet Identity]: ../terminology.md#internet-identity
[subnet]: ../terminology.md#subnet
2 changes: 1 addition & 1 deletion docs/build/functions.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ This process updates your Satellite with the custom Functions, making them live
### Summary

| CLI Command | Short description |
|----------------------------------------------------------| ---------------------------------------------------------------------------- |
| -------------------------------------------------------- | ---------------------------------------------------------------------------- |
| `juno dev eject` | Initializes your project to extend a Satellite. |
| `juno dev start` | Starts the local development environment using Docker. |
| `juno dev build` | Compiles your custom Satellite's code. Changes are automatically redeployed. |
Expand Down
40 changes: 26 additions & 14 deletions docs/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,27 @@ sidebar_position: 1

# Getting Started

To begin with Juno, launch your first [Satellite](/docs/add-juno-to-an-app/create-a-satellite.md) – a feature-packed smart contract for your project.
Start your Juno journey by launching your first **[Satellite](/docs/add-juno-to-an-app/create-a-satellite.md)** – a feature-packed smart contract designed for your project.

This all-in-one container provides authentication, datastore (a key-pair store akin to a simple "database"), file storage, serverless functions and hosting capabilities.
A Satellite is your project’s all-in-one container, **giving you full control 🔐** over authentication, a key-pair datastore (akin to a simple "database"), file storage, serverless functions, and hosting.

## Starting a new project
It’s everything you need to run your app – no external resources required.

Are you embarking on a new project? We've got your back.
---

## Integrating Juno into an Existing App

After creating your Satellite, you're ready to put it to use. Follow our [step-by-step guidance](./add-juno-to-an-app/setup) to install the SDK and initialize your app, connecting it to your container.

---

## Starting a brand new project

Are you starting a fresh project? We've got your back.

Whether you're aiming to create a website, blog, or application, leverage Juno's onboarding CLI to scaffold your project. Our ready-made templates are developed with the most well-known frontend frameworks, including Astro, Next.js, React, SvelteKit, Vue, and Angular.
Whether it’s a website, blog, or app, leverage Juno's onboarding CLI to scaffold your project with ready-made templates for popular frontend frameworks like Astro, Next.js, React, SvelteKit, Vue, and Angular.

Just run
Just run:

```bash
npm create juno@latest
Expand All @@ -28,32 +38,34 @@ Our CLI tool is compatible with Mac, Linux, and Windows and requires [NodeJS](ht

:::

## Integrating in an existing app

After creating your satellite, you're ready to put it to use. Follow our [step-by-step guidance](./add-juno-to-an-app/setup) to install the SDK and initialize your app, establishing communication with your satellite.
---

## Local development

Unsure about launching satellites in production? Primarily interested in local development?
Want to develop locally before going live? Or just want to test out Juno in a non-production environment?

Try our [local development emulator](./guides/local-development.md). It allows you to build and test your projects in an environment that closely mirrors production, without the commitment of a live deployment.
Use our [local development emulator](./guides/local-development.md) to build and test your projects in an environment that closely mirrors production, without needing to deploy live.

:::tip

The emulator is available with all starting templates. Run `npm create juno@latest` to start a new project.
The emulator comes with all starter templates. Just run `npm create juno@latest` to begin.

:::

---

## Further Details

Explore the features of Juno through the detailed documentation:
Dive deeper into Juno’s capabilities with our feature-rich documentation:

- [Authentication](build/authentication.md)
- [Datastore](build/datastore.md)
- [Storage](build/storage.md)
- [Hosting](build/hosting.md)
- [Analytics](build/analytics.md)

---

## Learn concepts

Familiarize yourself with Juno's [infrastructure](white-paper/infrastructure.md) and [architecture](white-paper/architecture.md) to gain a better understanding of its operation.
Familiarize yourself with Juno's [infrastructure](white-paper/infrastructure.md) and [architecture](white-paper/architecture.md) to understand its operation better.
8 changes: 8 additions & 0 deletions docs/terminology.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,14 @@ A satellite is essentially a smart contract with added capabilities.

Currently, each satellite is dedicated to a single application.

### Subnet

A subnet is like a group of smart contracts (programs) working together on the Internet Computer. These groups, or subnets, are designed to distribute the workload across the network. By having multiple subnets, the Internet Computer can handle more activity, process data faster, and ensure the system remains efficient and secure.

When you create a module, like a Satellite, it's deployed on the same subnet as the Juno Console by default: [6pbhf-qzpdk-kuqbr-pklfa-5ehhf-jfjps-zsj6q-57nrl-kzhpd-mu7hc-vae](https://dashboard.internetcomputer.org/subnet/6pbhf-qzpdk-kuqbr-pklfa-5ehhf-jfjps-zsj6q-57nrl-kzhpd-mu7hc-vae).

Communicating between modules on different subnets takes longer due to the extra steps required for coordination (about 4 additional consensus rounds in the best case). This is why placing all your interacting smart contracts on the same subnet can lead to significant performance improvements.

[console]: terminology.md#console
[satellite]: terminology.md#satellite
[satellites]: terminology.md#satellite
Expand Down