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_timeit 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, withTBDevents 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 psand you should see two containers running: one for web, one for db. - Go to
http://127.0.0.1:8080in your browser and you should seeindex.htmlin thewwwfolder.
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.confand change therootpaths on lines 44 and 51 - From your local Terminal, run
docker-compose buildanddocker-compose up -dto update the container