ZachWatkins / zachw-site

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ZachW.site

GitHub Package.json Version Code Size License Open Issues

IMPORTANT: This is work in progress! The project is subject to significant change until its 1.0.0 release.

Status

Laravel Pint Prettier Pest Tests Release Deployment

Progress

Closed Issues Closed Pull Requests

Issues

Open Issues Open Bug Issues Open Feature Issues Open Pull Requests Last Commit

Local System Requirements

  1. Node.js and NPM.
  2. PHP and Composer: $ bin/install-php
  3. (Windows) Windows Subsystem for Linux and Ubuntu: $ bin/install-wsl

Installation

  1. Clone the repository: $ git clone https://github.com/zachwatkins/zachw-site
  2. Open the project directory: $ cd zachw-site
  3. Run the repository initialization script: $ bin/once

Features

Laravel first-party packages and features:

  1. Breeze (Laravel Package) for user registration, login, authentication, and profile management. Also includes PHPUnit tests for authentication features.
  2. Sanctum (Laravel Package) for API authentication and token management.
  3. Queues for performing tasks asynchronously.
  4. Migrations for database schema management.
  5. Tests for peace of mind.

My own features:

  1. User Storage Scope shows how to store each user's files in their own folder.
  2. Generic Model Class demonstrates how Laravel registers, creates, and retrieves database table records.

Routes

Public Web Routes

Verb URI Action Route Name
GET / view welcome

Guest Web Routes

Verb URI Action Route Name
GET /register create register
POST /register store -
GET /login create login
POST /login store -
GET /forgot-password create password.request
POST /forgot-password store password.email
GET /reset-password create password.reset
POST /reset-password store password.update

Authenticated Web Routes

Verb URI Action Route Name
GET /verify-email create verification.notice
GET /verify-email/{id}/{hash} create verification.verify
POST /verify-email/{id}/{hash} store -
POST /verify-email-notification store verification.send
GET /confirm-password create password.confirm
POST /confirm-password store -
PUT /password update password.update
POST /logout destroy logout
GET /dashboard/ view dashboard
GET /profile view profile.edit
PATCH /profile update profile.update
DELETE /profile destroy profile.destroy

Authenticated API Routes

Verb URI Action Route Name
GET /api/user closure -
GET /models index photos.index
GET /models/create create photos.create
POST /models store photos.store
GET /models/{id} show photos.show
GET /models/{id}/edit edit photos.edit
PUT/PATCH /models/{id} update photos.update
DELETE /models/{id} destroy photos.destroy

Development

To start the application, you will need two terminal windows open. In the first window, run the following command:

php artisan serve

In the second window, run the following command:

npm run serve

If you are using Windows and want to run the application locally, you will need to install Windows Subsystem for Linux.

URLs

http://localhost:80 (Web) http://localhost:8025 (Mailpit)

Documentation

(Laravel Documentation)[./docs/laravel.md]

About

License:MIT License


Languages

Language:PHP 64.0%Language:Blade 30.6%Language:Shell 4.7%Language:JavaScript 0.5%Language:Batchfile 0.2%Language:CSS 0.0%