Note: You need PHP v7.2.5+, MySQL v8.0+, composer and yarn v1.22+ installed in your unix-based machine. I have not used Docker.
- Clone the repo
git clone git@github.com:hassanazimi/podpoint.git
- Create a database called
podpointapi
or anything else in MySQL. - Navigate to the app directory
cd podpoint
and open in in your text editor. - In
.env.example
update these to match yours.
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=
- Run the command below.
./bin/install.sh
This will:
- Install composer dependencies.
- Copy the
.env.exapmle
to.env
. - Generate app key.
- Migrate and seed the database.
- Install Node dependencies and build the front.
- Run
php artisan serve
to see the app on http://127.0.0.1:8000
- Front end code is inside
front
directory. - In
front
directory commandyarn install
will install the node dependencies - In
front
directory commandyarn serve
will serve the front-end app to work on it but you need to runyarn build
at the end. - In
front
directory commandyarn build
will build the front-end and will compile the JS, CSS and HTML. - There are some tests written in
test
directory usingphpunut
. - See comments below in "About you" section.
These are screenshots of what I've built. Very similar to the design. I hope you like it:
Hi and welcome to our coding test for joining the Pod Point Software Team!
Table of Contents
- Presentation
- Prerequisites
- About your implementation
- Your dev environment
- The task
- About you
- Your comments (optional)
IMPORTANT: Publishing your test on a public repository would render an automatic disqualification
This challenge is designed to test your full stack abilities (PHP/JS).
You should approach the task as you would any other piece of work in a typical day. Think about the tools and libraries you might use to make your life easier (frameworks, libraries, etc.).
Think about your markup and CSS in terms of re-usability and maintainability across a larger scale product.
You should be able to produce the work with a high quality finish in an acceptable amount of time.
Design:
If you're using Mac OS, you will need:
- You will need to install Docker
If you're using windows, you will need:
- Docker toolbox to use Docker and creating containers under windows
- put this whole folder inside
C/Users/Public
(to avoid having volume mounting issues)
- Fill the About you section below.
- If you have any notes to add to your test, please add them in the Your comments section below.
- Send a zip file with your completed entry to peter.ward@pod-point.com.
Once docker is downloaded, run the newly installed docker application, and wait for the message ‘Docker is now up and running’ to appear on the docker window.
We've prepared a docker environment for this test.
All you have to do, is run ./bin/docker-run.sh
and it will download all the relevant modules for each of the stacks and then spin up 3 containers:
podpoint-api
(for back end work, accessible on http://localhost:8000/)podpoint-api-docs
(for API documentation, accessible on http://localhost:8001/)podpoint-front
(for front end work, accessible on http://localhost:8080/)
NOTE: If using Windows & Docker toolbox, run
docker-machine ip
to get the IP of your docker containers, then use this IP instead oflocalhost
followed by the same ports as described above (e.g. IP is192.168.99.100
, API docs container will be accessible on http://192.168.99.100:8001)
We need to build a very simple application that will be able to handle our units and give the ability to start/end a charge on a unit.
For this test you will need to implement this API, and build a simple frontend to list units & interact with units (start/stop a charge).
The test is split into 2 sections presenting the need for back end & front end:
Thanks and good luck!
- First name: Hassan
- Last name: Azimi
I did not use Docker for this application. Front-end and back-end are decoupled.
I have used Vue.js for front-end and Laravel for back-end. I would use Nuxt.js and Vuex flux pattern for larger apps.
I have used bulma flex box based CSS framework.
Building front-end will generate JS and CSS in the
public
folder and it will also create minified HTML inresources/views
folder.If you see any errors by running
./bin/install.sh
, please have a look inside this file and see what is related to, it might be related to your database credentials or not havingyarn
,MySQL
orPHP composer
IMPORTANT: Publishing your test on a public repository would render an automatic disqualification