Skip to content

Latest commit

 

History

History
56 lines (36 loc) · 2.04 KB

README.md

File metadata and controls

56 lines (36 loc) · 2.04 KB

Project setup

A social network for developers. Sign in with GitHub, follow developers, and share commits.

Getting Started

Requires PHP 8.5+, Composer, Bun, and SQLite (the default database) or another configured database.

git clone https://github.com/nunomaduro/devnull.com.git
cd devnull.com
composer setup

The setup script installs dependencies, creates .env, generates an app key, runs migrations, and builds assets.

Local auto-login

To sign in locally without GitHub, set the following in .env:

APP_ENV=local
AUTO_LOGIN=true

Run composer dev and visit http://localhost:8000 (or your configured APP_URL). Auto-login only works in the local environment.

GitHub login

Leave AUTO_LOGIN=false to sign in using GitHub. Create a GitHub OAuth app with the callback URL {APP_URL}/auth/github/callback, then set GITHUB_CLIENT_ID and GITHUB_CLIENT_SECRET in .env.

Verify installation

Run composer test to check linting, static analysis, type coverage, and tests. The code coverage check requires Xdebug or PCOV.

Available Tooling

Development

  • composer dev - Starts Laravel server, queue worker, log monitoring, and Vite+ dev server concurrently

Code Quality

  • composer lint - Runs Rector (refactoring), Pint (PHP formatting), and Oxfmt (JS/TS formatting)
  • composer test:lint - Dry-run mode for CI/CD pipelines

Testing

  • composer test:type-coverage - Ensures 100% type coverage with Pest
  • composer test:types - Runs PHPStan at the configured maximum level and TypeScript checks
  • composer test:unit - Runs Pest tests with 100% code coverage requirement
  • composer test - Runs the complete test suite (linting, static analysis, type coverage, unit tests)

Maintenance

  • composer update:requirements - Updates the PHP and frontend dependency version constraints

License

Licensed under MIT, as declared in composer.json. Based on Nuno Maduro's Laravel starter kit.