2021-06-22 08:17:15 +00:00
# Angel3 Framework
2021-09-25 06:32:32 +00:00
![Pub Version (including pre-releases) ](https://img.shields.io/pub/v/angel3_framework?include_prereleases )
2021-05-14 10:34:09 +00:00
[![Null Safety ](https://img.shields.io/badge/null-safety-brightgreen )](https://dart.dev/null-safety)
2021-05-15 06:18:06 +00:00
[![Gitter ](https://img.shields.io/gitter/room/angel_dart/discussion )](https://gitter.im/angel_dart/discussion)
2021-09-25 06:32:32 +00:00
[![License ](https://img.shields.io/github/license/dukefirehawk/angel )](https://github.com/dukefirehawk/angel/tree/master/packages/framework/LICENSE)
2016-06-21 22:56:04 +00:00
2021-08-20 05:55:04 +00:00
**Replacement of Angel Framework with major change to support NNBD.**
2021-08-20 05:46:02 +00:00
Angel3 framework is a high-powered HTTP server with support for dependency injection, sophisticated routing, authentication, ORM, graphql etc. It is designed to keep the core minimal but extensible through a series of plugin packages. It won't dictate which features, databases or web templating engine to use. This flexibility enable Angel3 framework to grow with your application as new features can be added to handle the new use cases.
2021-09-25 06:32:32 +00:00
This package is the core package of [Angel 3 ](https://github.com/dukefirehawk/angel ). To see more details, please refer to the [Developer Guide ](https://angel3-docs.dukefirehawk.com ).
2021-08-20 05:46:02 +00:00
2021-08-20 05:55:04 +00:00
## Installation and Setup
2021-08-20 05:46:02 +00:00
2021-08-20 05:55:04 +00:00
### (Option 1) Create a new project by cloning from boilerplate templates
2021-08-20 05:46:02 +00:00
1. Download and install [Dart ](https://dart.dev/get-dart )
2. Clone one of the following starter projects:
* [Angel3 Basic Template ](https://github.com/dukefirehawk/boilerplates/tree/angel3-basic )
* [Angel3 ORM Template ](https://github.com/dukefirehawk/boilerplates/tree/angel3-orm )
* [Angel3 Graphql Template ](https://github.com/dukefirehawk/boilerplates/tree/angel3-graphql )
3. Run the project in development mode (*hot-reloaded* is enabled on file changes).
```bash
dart --observe bin/dev.dart
```
4. Run the project in production mode (*hot-reloaded* is disabled).
```bash
dart bin/prod.dart
```
5. Run as docker. Edit and build the image with the provided `Dockerfile` file.
2021-08-20 05:55:04 +00:00
### (Option 2) Create a new project with Angel3 CLI
2021-08-20 05:46:02 +00:00
1. Download and install [Dart ](https://dart.dev/get-dart )
2. Install the [Angel3 CLI ](https://pub.dev/packages/angel3_cli ):
```bash
dart pub global activate angel3_cli
```
3. On terminal, create a new project:
```bash
angel3 init hello
```
4. Run the project in development mode (*hot-reloaded* is enabled on file changes).
```bash
dart --observe bin/dev.dart
```
5. Run the project in production mode (*hot-reloaded* is disabled).
```bash
dart bin/prod.dart
```
6. Run as docker. Edit and build the image with the provided `Dockerfile` file.
### Migrating from Angel to Angel3
Check out [Migrating to Angel3 ](https://angel3-docs.dukefirehawk.com/migration/angel-2.x.x-to-angel3/migration-guide-3 )