Skip to content

a-drew/csu-booking

 
 

Repository files navigation

CircleCI Status Quality Gate Status License

About CSU Booking Platform

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 issues board and sprints.

Installation

Pre-requisites

  • PHP >= 7.3, preferably 7.4
  • PHP extensions you might not have by default: bcmath, pgsql
  • composer & npm executables
  • Postgres > 12
  • Latest Apache / Nginx / Caddy
  • xdebug is always a plus

Use any XAMPP/ MAMP like tools, I recommended laragon on pc or valet/valet+ on mac

First-Time Setup Steps

  1. once you clone the repo run composer fresh, it will run a batch of the starter commands.
  2. Open the .env and configure it to work with what you need, namely the DB connection
  3. Create a pgsql database matching the connection details in your .env
  4. Create the db schema and seed it with random values with composer mfs
  5. verify your setup is functional with alias composer diag or the full command php artisan self-diagnosis
  6. Access the web app through your preferred local web server setup (I like valet+ on macs & laragon on PC, ghetto way: php artisan serve + manual Postgres install)

Bonus Commands

  • 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 or composer reset if you don't want to rerun migrations
  • npm run dev or npm run watch for frontend dev build, the watch command will recompile when files are changed.

Usage

Website

Navigate to your local site. Varies depending on web server. Could be localhost:8000, could be csu.test 🤷

API

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.

Console

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.

Resources

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.

Here are some more resources you might want to take a look at :

Various Useful Docs

Video Tutorials

Architecture and Design Inspiration

Laravel Best Practices and Design Pattern Resources

Extra

License

This booking application is open-sourced software licensed under the MIT license.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 53.5%
  • Vue 33.7%
  • Blade 12.4%
  • Shell 0.4%