Giter Site home page Giter Site logo

laravelsandbox's Introduction

Victory Laravel Sandbox Application

This application is designed for testing of Laravel Framework capabilities. Please submit your changes as a Pull Request.

The framework is Laravel 6.0.2 - this is the most recent LTS (Long Term Service) release of Laravel. The framework has some additional packages installed which will be discussed below.

Setup and Installation

This is tested on MacOS, most *Nix architectures and Windows - there are some extra notes for node development in Windows

  • Install Vagrant
  • Install Virtualbox
  • Check out this repository to ~/code/LaravelSandbox - if you choose a different location you just need to make some changes to Homestead.yaml
  • cp Homestead/Homestead.yaml.example Homestead/Homestead.yaml
  • cp .env.example .env
  • vagrant up

Once the machine is up you can log in with vagrant ssh and change to the code directory cd code - this directory is a share from the host system. Here you can run any cli items needed like artisan commands.

Access to the site

The site will be available at the ip address in Homestead.yaml which currently defaults to 192.168.10.10. You can change that if it causes problems in your network. If you'd like to use an easier address you can make an entry in /etc/hosts for something like sandbox.test

Package Creation

A key part of this sandbox is to test the ability to create custom packages. To that end, this sandbox comes with Laravel-Packager - a 3rtd party package designed to make package creation easy. You can bootstrap a new package using this tool:

php artisan packager:new VENDOR NAME

For instance, try this:

php artisan packager:new victorycto mysandbox

Once complete there is a directory in your codebase under /packages built as /packages/VENDOR/NAME - so look for /packages/victorycto/mysandbox

Note: Composer plans to enforce that all vendor and package names be lowercase in a future release, so please stick to that format

The repository will ignore the /packages directory, so work done here will not be loaded back to the repo

The Coding Test

We do not believe in standard coding tests at Victory, but we do want to see and understand your style of coding - we find the best way of doing that is to see you code a real world example. You may use whatever tools you have available and build this in any way you see fit.

Please fork this repository and do your work. When done email us with the fork url.

Build a Service

For this exercise you will build a simple service which can be utilized by the site from any controller. This is an image service, designed to ingest images and prepare them for use on the site. Your service should:

  • Accept a multipart form image upload
  • Resize / Recompress the image to at least 3 sizes (think thumbnail, small and full). You may change the image format and compression to best suite use on a website
  • Store the image to S3 or GCP cloud storage and create a public url - ideally with a CDN frontend
  • Save the image data to a table of your design in the local mysql database
  • Make the image available to the frontend

You should be able to accomplish this within the free tier of either cloud service, and provide locations and directions in your code for any needed setup. If you need help or a paid account reach out and we will provide it.

We're looking for best practices, good documentation and testing, and creativity.

laravelsandbox's People

Contributors

farnsworthmars avatar kennj2016 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.