Skip to content

Latest commit

 

History

History
51 lines (42 loc) · 2.46 KB

README.md

File metadata and controls

51 lines (42 loc) · 2.46 KB

Overview

We would like you to write a mobile­based web app with a php backend. Below is the user story, followed by the design.


IMPORTANT NOTE: We appreciate when the tests really work, but we will focus our evaluation more on object oriented design, style, separation of concerns, usage of tools...

Try to show us what you're capable of, even if the test could be solved in a more simple way


Acceptance Criteria

Profile page:

  • When the app opens, the profile should be displayed.
  • When the user clicks the "add as friend" button, the site background and button colors should change (to the colors of your choice). When clicked for a second time, the original colors should return.
  • When a user clicks on a profile image on the home page, the chat page should open.

Chat page:

  • When the chat is opened, a random message from the other user should appear.
  • Users should be able to send messages from the chat window.
  • The message history should remain in the chat window for the duration of the session, even if the user returns to the home page.
  • When the user clicks the avatar on the chat page, or the back button, he should go to the profile page.

Other:

  • Libraries are ok, but please don't use any frontend frameworks (angular, ember, react).
  • Please don't use any automatic code generation.
  • Closing the app window should close the session.
  • Remember this is a mobile­based web­app, so we would like to be compatible with major browsers (Safari, Chrome, Firefox, Opera).
  • The backend API should be done in PHP, you can use a library or framework for the API routing but not for anything else.
  • There is no definition for the API just that it has to be RESTful.
  • For the DB you can implement an in-memory storage (for example saving the data into an array) but it has to be prepared to change to other DB systems.
  • Object oriented design will be evaluated.
  • Please provide a short summary detailing anything you think is relevant, for example:
    • Installation steps
    • How to run your code / tests
    • Where to find your code
    • What would you have done differently if you had had more time
    • Etc.
  • Please send your results as a git patch (instructions) to this same repository.

Profile Page

Profile Page

Chat Page

Profile Page