Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/sikessem/starter

Start PHP applications using Laravel preconfigured with Bun, TypeScript, Livewire, Alpine.js, TailwindCSS and many others such as Vite.js, Biome, Pint, PHPStan, Larastan, Rector.
https://github.com/sikessem/starter

alpinejs biomejs bun bun-sh composer larastan laravel laravel-livewire pestphp php phpstan rector rome sikessem starter-template tailwindcss typescript vitejs

Last synced: 2 months ago
JSON representation

Start PHP applications using Laravel preconfigured with Bun, TypeScript, Livewire, Alpine.js, TailwindCSS and many others such as Vite.js, Biome, Pint, PHPStan, Larastan, Rector.

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]
[![actions-icon]][actions-link]
[![pr-icon]][pr-link]
[![twitter-icon]][twitter-link]

# 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 [Bun][bun-home], [Vite.js][vitejs-home], [Biome][biome-home], [Pint][pint-home], [PHPStan][phpstan-home], [Larastan][larastan-home], [Rector][rector-home].

## πŸ”– 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 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
bun install
```

🍱 Build assets

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

```shell
bun run 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 **Biome**:

```shell
bun check
```

- with **Pint**:

```shell
composer check
```

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

- Using **PHPStan**:

```shell
composer analyse
```

#### βœ… Run unit tests

- using **Bun**:

```shell
bun run test
```

- using **PEST**:

```shell
composer test
```

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

```shell
bun e2e
```

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

- Frontend:

```shell
bun debug
```

- Backend:

```shell
composer debug
```

## πŸ“‹ Requirements

- **Requires [PHP 8.2+](https://php.net/releases/)** (at least 8.2.14 recommended to avoid potential bugs).
- **Requires [Bun 1.0+](https://bun.sh/)** (at least 1.0.21 recommended to avoid potential bugs).
- **Requires [Composer >=2.6.6](https://getcomposer.org/)** to manage [PHP][php-link] dependencies.
- **Requires [Git ~2.42.0](https://git-scm.com/)** to manage source code.

## πŸ“– 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][pr-link]

Read our [**Contributing Guide**][pr-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.

### πŸ’¬ 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.

[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"

[actions-icon]: https://github.com/sikessem/starter/workflows/Tests/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]: https://github.com/sikessem/.github/blob/HEAD/CONTRIBUTING.md "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
[discuss-link]: https://github.com/orgs/sikessem/discussions
[docs-link]: https://github.com/sikessem/starter#readme "Starter Documentation"

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

[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"
[biome-home]: https://biomejs.dev "Biome"
[bun-home]: https://bun.sh "Bun"
[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"