shadrech / Database-Design-Test

Code test for job application. Database design challenge

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Program & Database Design Challenge

This is coding test assigned after a job application. Brief was:

A database stores information about its members. Each member can be associated with 1 or more school. You should build a demo that allows someone to add a new member with the fields “Name”, “Email Address” and "School" (selected from a list). The demo should display all members for a selected school.
You may use any freely available programming language and modules (although be aware that the primary language we use is PHP). We will want to run and connect to your code on our own machines so if there are any unusual pre-requisites please document them.

My demo adds above mentioned functionality as well as adding new schools etc. Uses Slim framework borrowing other external packages such as Laravels illuminate/database. With time, a lot more can be achieved especially on the frontend with the plethora of packages/libraries out there

Getting up and running

Program depends on composer for pulling in php packages and npm for node modules

First install composer and npm packages:

$ npm install
$ composer install

The application uses sqlite for database storage. Run the migrate.php script I wrote which basically creates a database.sqlite file, creates tables using Illuminate\Database\Capsule\Manager, and finally seeds the 'schools' table with initial values

$ php migrate.php

Now run gulp to render the sass files into css

$ gulp minify

Now everythings set. Boot up a php server specifying the public folder to be the document root for the web server

$ php -S localhost:8000 -t public

Go to "http://localhost:8000" in your browser to view app

About

Code test for job application. Database design challenge


Languages

Language:PHP 46.7%Language:HTML 39.0%Language:CSS 10.2%Language:JavaScript 4.1%