Your goal is to create a simple event management app. The requirements are as follows:
- There shall be an event dashboard showing all of my events
- There shall be a way to add new events
- There shall be a way for a guest to rsvp to an event
- The event dashboard shall show a count of current attendees.
- The fields should properly handle unicode characters (in case my name is Señor Tacos)
- The event dashboard should list the event
title
,start_time
, andend_time
- If an event does not have a
start_time
it should be listed asTBD
(To Be Determined) - One should be able to easily see the event in groups of
Upcoming
,Past
, andTBD
. - The table should be sortable by
Title
, andstart_time
, withTBD
events taking precedence.
Feel free to use any tools or frameworks you like!
For extra awesome-points, the dashboard should be updated in real-time when anyone makes an update (adds an event, a guest RSVPs to the event, etc...)
We have provided a simple SQL schema file to get you started. You should import the schema file into the database created as part of the setup.
If you make any changes to the database, feel free to just supply the updated SQL dump; if you're feeling fancy, you may write a migration.
When you're ready to submit, zip up your code and email it back to us.
- Install Docker for your operating system: OSX, Windows, or Linux.
- Clone this repository.
- In Terminal, go into the cloned repository and run
docker-compose up -d
- This will download the Docker images and run the install
- Run
docker ps
and you should see two containers running: one for web, one for db. - Go to
http://127.0.0.1:8080
in your browser and you should seeindex.html
in thewww
folder.
In your favorite MySQL browsing application (we recommend Sequel Pro for OSX and HeidiSQL for Windows), use the following credentials:
Property | Value |
---|---|
Host | 127.0.0.1 |
Username | splash |
Password | splash |
Port | 3306 |
DatabaseName | SplashCodeTest |
Add all your code into the www
folder.
When configuring your code, use a database host of db
(rather than 127.0.0.1).
If you need to get into the container (for example, to run composer install
), run the following in your Terminal: docker exec -it codetest_web_1 /bin/sh
. You will be in the /www
folder which is mounted to the www
folder you have been developing in.
Composer is already installed inside the Docker container, so once you connect to the container, you can run composer
to do whatever is necessary.
If you need to make a change for a framework - for example, changing the root public folder:
- Edit
docker/nginx.conf
and change theroot
paths on lines 44 and 51 - From your local Terminal, run
docker-compose build
anddocker-compose up -d
to update the container