An open API service indexing awesome lists of open source software.

https://github.com/arifszn/pandora

🥢 REST API starter kit powered by Laravel, OpenAPI, Sanctum.
https://github.com/arifszn/pandora

api api-boilerplate api-rest api-starter-kit framework hacktoberfest laravel laravel-api laravel-api-boilerplate laravel-application laravel-backend laravel-framework laravel-rest-api pandora php rest-api starter-kit starter-project starter-template swagger

Last synced: 5 months ago
JSON representation

🥢 REST API starter kit powered by Laravel, OpenAPI, Sanctum.

Awesome Lists containing this project

README

        



Pandora


📦 REST API starter kit powered by Laravel, OpenAPI, Sanctum.

































View Docs
·
Report Bug
·
Request Feature



Preview



Shadow

**Pandora** is a modern, customized, feature-rich API starter kit to kickstart your next _REST_ API backend.

## Features

- [API Documentation](https://arifszn.github.io/pandora/docs/api-documentation)
- [Redoc](https://arifszn.github.io/pandora/docs/api-documentation/redoc)
- [Swagger UI](https://arifszn.github.io/pandora/docs/api-documentation/swagger-ui)
- [Dockerized](https://arifszn.github.io/pandora/docs/installation#with-docker-sail)
- [OpenAPI Specification](https://arifszn.github.io/pandora/docs/features/openapi-specification)
- [Service Repository Pattern](https://arifszn.github.io/pandora/docs/features/service-repository-pattern)
- [Testing](https://arifszn.github.io/pandora/docs/features/testing)
- [API Resource](https://arifszn.github.io/pandora/docs/features/api-resource)
- [Code Style & Lint](https://arifszn.github.io/pandora/docs/features/code-style-and-lint)
- [CI/CD](https://arifszn.github.io/pandora/docs/features/ci-cd)
- [Log Viewer](https://arifszn.github.io/pandora/docs/features/log-viewer)

## Functionalities

- [Multi Auth](https://arifszn.github.io/pandora/docs/functionalities/authentication)

## Documentation

Complete documentation for Pandora can be found [**here**](https://arifszn.github.io/pandora).



Documentation



**The API documentation:**

- [Redoc](https://arifszn.github.io/pandora/docs/api-documentation/redoc)
- [Swagger UI](https://arifszn.github.io/pandora/docs/api-documentation/swagger-ui)

## Installation

**Prerequisite**

- PHP 8.2

To setup Pandora, first clone the project and change the directory.

```sh
git clone https://github.com/arifszn/pandora.git
cd pandora
```

Then follow the process using either **[Docker](#with-docker-sail)** or **[Without Docker](#without-docker)** and you will have a fully running Laravel installation with Sanctum, all configured.

### With Docker (Sail)

[Laravel Sail](https://github.com/laravel/sail) is a light-weight command-line interface for interacting with Laravel's default Docker development environment.

1. Copy `.env.example` to `.env`:

```shell
cp .env.example .env
```

2. Install the dependencies:

```shell
docker run --rm \
-u "$(id -u):$(id -g)" \
-v $(pwd):/var/www/html \
-w /var/www/html \
laravelsail/php82-composer:latest \
composer install --ignore-platform-reqs
```

3. Run the containers:

```shell
./vendor/bin/sail up -d
```

4. Generate application key:

```shell
./vendor/bin/sail artisan key:generate
```

5. Run database migration with seeder:

```shell
./vendor/bin/sail artisan migrate --seed
```

To learn more about Sail, visit the [official Doc](https://laravel.com/docs/9.x/sail).

### Without Docker

1. Copy `.env.example` to `.env`:

```shell
cp .env.example .env
```

2. Install the dependencies:

```shell
composer install
```

3. Generate application key:

```shell
php artisan key:generate
```

4. Run database migration with seeder:

```shell
php artisan migrate --seed
```

5. Start the local server:

```shell
php artisan serve
```

## Support

You can show your support by starring this project.



Github Star

## Contribute

To contribute, see the [contributing guide](https://github.com/arifszn/pandora/blob/main/CONTRIBUTING.md).

## Credits

This starter kit is inspired by the project [Hydra](https://github.com/hasinhayder/hydra).

## License

[MIT License](https://github.com/arifszn/pandora/blob/main/LICENSE)