# panda

> Panda rapid application framework

Latest version **0.6.5** (published 2023-01-05) · MIT license · 0 weekly downloads

## Install

```sh
npm install panda
pnpm add panda
yarn add panda
bun add panda
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.6.5 |
| Published | 2023-01-05 |
| First published | 2011-09-26 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >= 14.x.x |
| Dependencies | 24 |
| Unpacked size | 99.1 KB |
| Known vulnerabilities | 0 (+1 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 3 |
| Author | Adam Puzio |
| Maintainers | puzio |

## Links

- npm: https://www.npmjs.com/package/panda
- Repository: https://github.com/AdamPuzio/panda
- Homepage: https://adampuzio.github.io/panda-docs/
- Issues: https://github.com/AdamPuzio/panda/issues
- npm.io page: https://npm.io/package/panda

## Dependencies (24)

- [ejs](https://npm.io/package/ejs.md) ^3.1.8
- [koa](https://npm.io/package/koa.md) ^2.13.4
- [glob](https://npm.io/package/glob.md) ^8.0.3
- [chalk](https://npm.io/package/chalk.md) ^4.1.2
- [dotenv](https://npm.io/package/dotenv.md) ^16.0.1
- [lodash](https://npm.io/package/lodash.md) ^4.17.21
- [moment](https://npm.io/package/moment.md) ^2.29.3
- [semver](https://npm.io/package/semver.md) ^7.3.7
- [figures](https://npm.io/package/figures.md) ^3.2.0
- [winston](https://npm.io/package/winston.md) ^3.7.2
- [fs-extra](https://npm.io/package/fs-extra.md) ^10.1.0
- [inquirer](https://npm.io/package/inquirer.md) ^8.2.4
- [@koa/cors](https://npm.io/package/@koa/cors.md) ^3.3.0
- [koa-mount](https://npm.io/package/koa-mount.md) ^4.0.0
- [moleculer](https://npm.io/package/moleculer.md) ^0.14.21
- [cache-base](https://npm.io/package/cache-base.md) ^4.0.2
- [koa-static](https://npm.io/package/koa-static.md) ^5.0.0
- [@koa/router](https://npm.io/package/@koa/router.md) ^10.1.1
- [koa-session](https://npm.io/package/koa-session.md) ^6.2.0
- [bson-objectid](https://npm.io/package/bson-objectid.md) ^2.0.3
- [moleculer-web](https://npm.io/package/moleculer-web.md) ^0.10.4
- [koa-bodyparser](https://npm.io/package/koa-bodyparser.md) ^4.3.0
- [command-line-args](https://npm.io/package/command-line-args.md) ^5.2.1
- [command-line-usage](https://npm.io/package/command-line-usage.md) ^6.1.3

## Recent versions

- 0.6.5 (latest) — 2023-01-05
- 0.6.4 — 2022-12-20
- 0.6.3 — 2022-12-15
- 0.6.2 — 2022-09-06
- 0.6.1 — 2022-09-03
- 0.6.0 — 2022-08-22
- 0.5.4 — 2022-06-09
- 0.3.8 — 2022-06-07
- 0.5.3 — 2022-06-01
- 0.5.2 — 2022-06-01
- 0.3.7 — 2022-05-13
- 0.3.6 — 2022-03-29
- 0.3.5 — 2022-03-28
- 0.3.4 — 2022-03-28
- 0.3.3 — 2022-03-17
- … 10 more at https://npm.io/package/panda/versions

## README

# Panda 

Panda is a rapid application framework that makes spinning up new web applications quick and easy, while still allowing for scalability.

Documentation: https://adampuzio.github.io/panda-docs/

## Why Panda?

The goal of Panda isn't to be _another_ web application framework, but rather a set of tools and best practices woven together to create a platform meant to allow quick and easy development and deployment of web technologies. 

While Panda has certain preferences in those tools and best practices, it allows for _any_ technology to be baked in. In addition to just creating things, Panda allows for the private labeling of your own functionality on top of its base. 

## Installation

### Dependencies

The only dependency for Panda is NodeJS version 14 or greater. That's it. 

### Global Installation

Installing Panda is a breeze:

```bash
npm i -g panda-cli
```

That's it! By installing Panda globally, you now have access to the Panda CLI and Development Toolkit, which now allows you to start building and running your own applications in minutes:

```bash
panda project:create
# use the Project creation tool to build a new Project
cd {project-directory}
panda project:start
```

Your brand new application is up and running at [http://localhost:5000](http://localhost:5000)

### Other Installation Methods

#### As a Library

If you are creating your own application and want to use Panda's functionality without running it through Panda, you can simply install it via `npm install --save panda` and then require it in your own script:

```js
const panda = require('panda')
```

## Development

### Panda CLI

One of the biggest features of Panda is the ability to rapidly create new things using the Panda CLI tool. Using the `panda` command, you can create, install, and run everything right from your terminal.

To view the list of available commands you can run, use:

```bash
panda
```

#### Commands

| Command                 | Description                                                                      |
| ----------------------- | -------------------------------------------------------------------------------- |
| panda app:run <app>     | Run a single Application along with all Services                                 |
| panda command:create    | Create a new Command                                                             |
| panda component:create  | Create a new Component                                                           |
| panda ctx               | Get information about the current Project and how it will be run                 |
| panda model:create      | Create a new Model                                                               |
| panda package:install   | Install a Panda Package into your Project                                        |
| panda package:uninstall | Uninstall a Panda Package from your Project                                      |
| panda project:create    | Create a new Panda Project from scratch                                          |
| panda project:info      | Get detailed information on how your Project is built/configured and will be run |
| panda project:start     | Start all Applications and Services                                              |
| panda route:create      | Create a new Route                                                               | 
| panda service:create    | Create a new Service                                                             |

### Scaffolding

Aside from using the Panda CLI tool to build things quickly and efficiently, you can choose to implement your own favorite technologies and even create your own scaffolds to rapidly build them yourself. 

## Deployment

Panda uses [Moleculer](https://moleculer.services/) under the hood to create its Services. Moleculer is an amazingly fast, flexible, and scalable microservices framework that allows Panda Projects to keep everything contained in one repository, while also deploying to advanced distributed networks of nodes. 

## Panda Development

### Testing

Panda uses [Jest](https://jestjs.io/) as its built-in testing suite. To run the automated tests, from within the Panda directory run:

```bash
npm run test
```

### Linting

Panda uses [Standard](https://standardjs.com/) as its linting tool.

```bash
# to see linting results
npm run lint

# to fix issues and see what can't be fixed
npm run lint-fix
```

## License

Panda is available under the [MIT license](https://tldrlegal.com/license/mit-license).

---
_Source: https://npm.io/package/panda · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
