Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

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: about 2 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)