Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/sikessem/auth-starter

πŸ” Manage Laravel Application Access Authentication and Authorization.
https://github.com/sikessem/auth-starter

alpinejs auth authentication authorization fortify laravel livewire oauth oauth2-client php sanctum tailwindcss

Last synced: 1 day ago
JSON representation

πŸ” Manage Laravel Application Access Authentication and Authorization.

Awesome Lists containing this project

README

        

[![sikessem-logo]][sikessem-link]


[![php-icon]][php-link]
[![typescript-icon]][typescript-link]
[![javascript-icon]][javascript-link]
[![packagist-version-icon]][packagist-version-link]
[![packagist-download-icon]][packagist-download-link]
[![license-icon]][license-link]
[![enabled-icon]][enabled-link]
[![actions-icon]][actions-link]
[![pr-icon]][pr-link]
[![twitter-icon]][twitter-link]

[sikessem-logo]: https://github.com/sikessem/art/blob/HEAD/images/sikessem.svg
[sikessem-link]: https://github.com/sikessem "Sikessem"

[php-icon]: https://img.shields.io/badge/PHP-ccc.svg?style=flat&logo=php
[php-link]: https://github.com/sikessem/starter/search?l=php "PHP code"

[typescript-icon]: https://img.shields.io/badge/TypeScript-294E80.svg?logo=typescript
[typescript-link]: https://github.com/sikessem/starter/search?l=typescript "TypeScript code"

[javascript-icon]: https://img.shields.io/badge/JavaScript-yellow.svg?logo=javascript
[javascript-link]: https://github.com/sikessem/starter/search?l=javascript "JavaScript code"

[packagist-version-icon]: https://img.shields.io/packagist/v/sikessem/starter
[packagist-version-link]: https://packagist.org/packages/sikessem/starter "Starter Releases"

[packagist-download-icon]: https://img.shields.io/packagist/dt/sikessem/starter
[packagist-download-link]: https://packagist.org/packages/sikessem/starter "Starter Downloads"

[enabled-icon]: https://img.shields.io/badge/Starter-enabled-brightgreen.svg?style=flat
[enabled-link]: https://github.com/sikessem/starter "Starter enabled"

[actions-icon]: https://github.com/sikessem/starter/workflows/CI/badge.svg
[actions-link]: https://github.com/sikessem/starter/actions "Starter status"

[pr-icon]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?color=brightgreen
[pr-link]: [contrib-link] "PRs welcome!"

[twitter-icon]: https://img.shields.io/twitter/follow/sikessem_tweets.svg?label=@sikessem_tweets
[twitter-link]: https://twitter.com/intent/follow?screen_name=sikessem_tweets "Ping Sikessem"

[license-icon]: https://img.shields.io/badge/license-MIT-blue.svg
[license-link]: https://github.com/sikessem/starter/blob/HEAD/LICENSE "Starter License"
[conduct-link]: https://github.com/sikessem/starter/blob/HEAD/CODE_OF_CONDUCT.md
[contrib-link]: https://github.com/sikessem/.github/blob/HEAD/CONTRIBUTING.md
[discuss-link]: https://github.com/orgs/sikessem/discussions
[docs-link]: https://github.com/sikessem/starter#readme "Starter Documentation"

[php-home]: https://php.net
[laravel-home]: https://laravel.com "Laravel"
[livewire-home]: https://laravel-livewire.com "Laravel Livewire"
[typescript-home]: https://www.typescriptlang.org "TypeScript"
[alpinejs-home]: https://alpinejs.dev "Alpine.js"
[tailwindcss-home]: https://tailwindcss.com "TailwindCSS"
[vitejs-home]: https://vitejs.dev "Vite.js"
[rome-home]: https://rome.tools "Rome"
[vitest-home]: https://vitest.dev "Vitest"
[pint-home]: https://github.com/laravel/pint "Laravel Pint"
[phpstan-home]: https://phpstan.org "PHPStan"
[larastan-home]: https://github.com/nunomaduro/larastan "Larastan"
[rector-home]: https://getrector.com "Rector"

***

# Sikessem Starter

Start [PHP][php-home] applications using [Laravel][laravel-home] preconfigured with [TypeScript][typescript-home], [Livewire][livewire-home], [Alpine.js][alpinejs-home], [TailwindCSS][tailwindcss-home] and many others such as [Vite.js][vitejs-home], [Rome][rome-home], [Vitest][vitest-home], [Pint][pint-home], [PHPStan][phpstan-home], [Larastan][larastan-home], [Rector][rector-home], etc.

## πŸ”– Contents

- [Sikessem Starter](#sikessem-starter)
- [πŸ”– Contents](#-contents)
- [πŸŽ‰ Getting Started](#-getting-started)
- [⚑️ Installation](#️-installation)
- [πŸ—ƒοΈ Manage Database](#️-manage-database)
- [🌐 Starting server](#-starting-server)
- [πŸ§ͺ Testing and debugging](#-testing-and-debugging)
- [🧹 Keep a modern codebase](#-keep-a-modern-codebase)
- [βš—οΈ Run static analysis](#️-run-static-analysis)
- [βœ… Run unit tests](#-run-unit-tests)
- [πŸ› Check all code bugs](#-check-all-code-bugs)
- [πŸ“‹ Requirements](#-requirements)
- [πŸ“– Documentation](#-documentation)
- [πŸ‘ Contribution](#-contribution)
- [πŸ‘· Code of Conduct](#-code-of-conduct)
- [πŸ‘₯ Contributing Guide](#-contributing-guide)
- [πŸ”’οΈ Good First Issues](#️-good-first-issues)
- [πŸ’¬ Discussions](#-discussions)
- [πŸ” Security Reports](#-security-reports)
- [πŸ“„ License](#-license)

## πŸŽ‰ Getting Started

### ⚑️ Installation

[Use this template](https://github.com/sikessem/starter/generate) or create a new [Sikessem project](https://packagist.org/packages/sikessem/starter) via the [Composer](https://getcomposer.org/) `create-project` command (recommended):

```shell
composer create-project sikessem/starter --prefer-source my-app
```

Where ***my-app*** is the name of your app.

Access the working directory:

```shell
cd my-app
```

Install PHP dependencies:

```shell
composer install
```

Install JS / TS dependencies:

```shell
pnpm install
```

🍱 Build assets

The production build will generate client and server modules by running both client and server build commands:

```shell
pnpm build
```

### πŸ—ƒοΈ Manage Database

Install migrations:

```shell
php artisan migrate:install && php artisan migrate
```

### 🌐 Starting server

Run the server in development mode:

```shell
php artisan serve --host=my-app.local --port=8000
```

Then visit [http://my-app.local:8000/](http://my-app.local:8000/)

### πŸ§ͺ Testing and debugging

#### 🧹 Keep a modern codebase

- with **Rome**:

```shell
pnpm check
```

- with **Pint**:

```shell
composer check
```

#### βš—οΈ Run static analysis

- Using **PHPStan**:

```shell
composer analyse
```

#### βœ… Run unit tests

- using **Vitest**:

```shell
pnpm test
```

- using **PEST**:

```shell
composer test
```

πŸš€ Execute end-to-end testing with **Playwright**:

```shell
pnpm e2e
```

#### πŸ› Check all code bugs

- Frontend:

```shell
pnpm debug

- Backend:

```shell
composer debug
```

## πŸ“‹ Requirements

> - **Requires [PHP 8.1+](https://php.net/releases/)** (at least 8.1.21 recommended to avoid potential bugs).
> - **Requires [Node JS 18.16+](https://nodejs.org/)** (at least 18.16.1 recommended to avoid potential bugs).
> - **Requires [Composer >=2.5.8](https://getcomposer.org/)** to manage [PHP][php-link] dependencies.
> - **Requires [pnpm@^8.0.0](https://pnpm.io/)** to manage [JS][javascript-link] and [TS][typescript-link] dependencies.
> - **Requires [Git ~2.40.0](https://git-scm.com/)** to manage source code versions.

## πŸ“– Documentation

The full documentation for the Sikessem Starter can be found on [this address][docs-link].

## πŸ‘ Contribution

The main purpose of this repository is to continue evolving Sikessem. We want to make contributing to this project as easy and transparent as possible, and we are grateful to the community for contributing bug fixes and improvements. Read below to learn how you can take part in improving Sikessem.

### [πŸ‘· Code of Conduct][conduct-link]

Sikessem has adopted a Code of Conduct that we expect project participants to adhere to.
Please read the [full text][conduct-link] so that you can understand what actions will and will not be tolerated.

### πŸ‘₯ [Contributing Guide][contrib-link]

Read our [**Contributing Guide**][contrib-link] to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to Sikessem.

### πŸ”’οΈ Good First Issues

We have a list of [good first issues][gfi] that contain bugs which have a relatively limited scope. This is a great place to get started, gain experience, and get familiar with our contribution process.

[gfi]: https://github.com/sikessem/starter/labels/good%20first%20issue

### πŸ’¬ Discussions

Larger discussions and proposals are discussed in [**Sikessem's GitHub discussions**][discuss-link].

## πŸ” Security Reports

If you discover a security vulnerability within [Sikessem](https://sikessem.com), please email [SIGUI KessΓ© Emmanuel](https://github.com/siguici) at [[email protected]](mailto:[email protected]). All security vulnerabilities will be promptly addressed.

## πŸ“„ License

The Sikessem Starter is open-sourced software licensed under the [MIT License](https://opensource.org/licenses/MIT) - see the [LICENSE][license-link] file for details.

***

Made with ❀︎ by @siguici.