Giter VIP home page Giter VIP logo

application's Introduction

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

Installation

Hard Requirements

  • Some web server: Apache / Nginx / Caddy
  • Postgres > 12
  • PHP >= 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

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 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 php artisan self-diagnosis
  6. 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)
Need More Details?

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 think its related to composer dependencies
  • npm run dev or npm run watch for frontend dev build, the watch command will recompile when files are changed

Docs for all the things

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.

Testing

PHPUnit

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.

Jest

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.

Debugging

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.

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.

Video Tutorials

Architecture and Design Inspiration

Laravel Best Practices and Design Pattern Resources

License

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

application's People

Contributors

evandime avatar a-drew avatar jonathanp16 avatar alexstojda avatar dependabot[bot] avatar joeyabou avatar alex-hayeur avatar alecadub avatar danseremet avatar noix4321 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.