A tool to improve location and equipment reservation workflow for clubs, students and faculty members.
You must have the ZenHub Extension installed for your browser to properly our issue board and sprints.
- Some web server:
Apache
/Nginx
/Caddy
Postgres
> 12PHP
>= 7.4- PHP extensions you might not have by default:
bcmath, pgsql
- composer
- node and npm
xdebug
is always a plus
Use any XAMPP/ MAMP like tools, I recommended laragon
on win or valet
/valet+
on mac
- once you clone the repo run
composer fresh
, it will run a batch of the starter commands. - Open the
.env
and configure it to work with what you need, namely the DB connection - Create a database matching the connection details in your
.env
- Create the db schema and seed it with random values with
composer mfs
- verify your setup is functional with
php artisan self-diagnosis
- Access the app through your preferred local web server setup (I like valet+ on macs & laragon on win... ghetto way: php artisan serve with sqlite db)
- When you see DB issues run
php artisan migrate:fresh --seed
(composer mfs
for short) to quickly recreate the db tables and seed it with random data - If you just need more random data in the db run
php artisan db:seed
- When everything goes to hell run
composer fresh
orcomposer reset
if you think its related to composer dependencies npm run dev
ornpm run watch
for frontend dev build, the watch command will recompile when files are changed
Navigate to your local site. Varies depending on web server. Could be localhost:8000, could be csu.test 🤷
Look at routes/api.php
file for a quick view of api specific routes that are defined for this application.
Postman or Insomnia are good tools for building
out api endpoint collections.
Tinker is the primary tool for testing queries, php logic, and debugging weird code... Basically your best friend.
Open it with php artisan tinker
. It's an interactive repl php shell that makes it quick & easy to dumbass proof your code.
Yu can run php artisan test
to run all the test suites.
Normally your IDE can be configured to run specific tests or all of them. Refer to specific IDE documentation.
Again, your IDE should recognize these tests and help you create a run configuration for those. To run everything from console use npm run test
.
For PHP, make sure your install the XDebug PHP extension and configure it properly. I like to use remote autostart to avoid hassle and quickly debug my code.
- PHPStorm Setup Tutorial.
- Detailed setup instructions for Windows and PHPStorm
- Another one: Xdebug with Docker & VSCode
We'll be using the laravel framework for this project. A good place to start learning all of this scary new tech is Laracasts, specifically the laravel from scratch series & Vue 2 Step by step.
- Video Game Aggregator (Laravel+Tailwind)
- Vue Step-by-Step
- Testing Laravel
- https://www.youtube.com/watch?v=U3rPtLW5iuI
- https://www.youtube.com/watch?v=EU7PRmCpx-0&list=PLillGF-RfqbYhQsN5WMXy6VsDMKGadrJ-
- Best Practices Summary Site
- Laravel Team on Laravel 4 patterns - Presentation Talk
- Design Patterns in Laravel Book
- Code examples of patterns - Here's a video if you don't like reading
- Adapter, Straregy & Factory Patterns in Laravel w/ examples prepare to 2x speed and hit the left key 8x a sec
- Design Patterns in PHP and Laravel by Kelt Dockins, ISBN:9781484224502 link on gdrive coming soon
This booking application is open-sourced software licensed under the MIT license.