---
title: Jaspr Quick Start
description: Get started with jaspr and build your first website in Dart.
previous: /
next: /jaspr-vs-flutter-web
---

# 🛫 Quick Start

To get started simply activate the `jaspr` command line tool and run `jaspr create`:

```shell
dart pub global activate jaspr_cli
jaspr create -t basic my_web_app
```

This will setup a new jaspr project using the `basic` template inside the `my_web_app` folder.
Next, run the development server using the following commands:

```shell
cd my_web_app
jaspr serve
```

This will generate some additional files and spin up a server at `localhost:8080`. 
You can now start developing your web app.

<Success>
Observe that the browser automatically refreshes the page when you change something in your 
code, like the `Hello World` text.
</Success>

## 🪆 Project structure

Depending on your chosen template, a typical jaspr project could have the following project structure:

```markdown
├── lib/
│   ├── components/
│   │   └── ...
│   └── main.dart
├── web/
│   ├── assets/
│   │   └── ...
│   ├── index.html
│   ├── main.dart
│   └── styles.css
├── pubspec.lock
└── pubspec.yaml
```

- The `lib` folder contains all your usual dart code, including components, services, pages, routes etc.
depending on your architecture.

- The `lib/main.dart` file is the standard entry point for your **server** application, if you use
server-side rendering. It usually contains the `void main()` method with a single call to `runApp()`,
and provides your root app component.

- The `web` folder contains all files that should be shipped to the browser. Files inside the `web` directory
are later accessible through their relative url, e.g. `<domain>/styles.css`, so it makes sense to put
all your public assets inside this folder (e.g. images). All `.dart` files will be compiled to
js and will be accessible through e.g. `<domain>/main.dart.js`.

