Coder Social home page Coder Social logo

backend-php-test's Introduction

Alayacare PHP backend skill test

Application

The TODO App allows a user to add reminders of thing he needs to do. Here are the requirement for the app.

  • Users can add, delete and see their todos.
  • All the todos are private, users can't see other user's todos.
  • Users must be logged in order to add/delete/see their todos.

Credentials:

  • username: user1
  • password: user1

Homepage:

Homepage

Login page:

Login page

Todos:

Todos

Requirements

  • php 5.3+
  • mysql
  • A github account

Installation

/!\ You need to fork this repository. See How to submit your work?

php composer.phar install
cp config/config.yml.dist config/config.yml
mysql -u root <database> < resources/database.sql
mysql -u root <database> < resources/fixtures.sql
php -S localhost:1337 -t web/ web/index.php

You can change the database connection from the file config/config.yml.

Instructions

You will be asked to improve the code of this app with the following tasks.

You can complete the tasks in any order.

Separate your commits by task and use the following format for your commit messages: TASK-{task number}: {meaningful message}

Tasks

  • TASK 1: As a user I can't add a todo without a description.
  • TASK 2: As a user I can mark a todo as completed.
    • Write a database migration script in resources/
  • TASK 3: As a user I can view a todo in a JSON format.
    • Ex: /todo/{id}/json => {id: 1, user_id: 1, description: "Lorem Ipsum"}
  • TASK 4: As a user I can see a confirmation message when I add/delete a todo.
    • Hint: Use session FlashBag.
  • TASK 5: As a user I can see my list of todos paginated.
  • TASK 6: Implement an ORM database access layer so we don’t have SQL in the controller code.

Extra tasks:

  • Fix any bug you may find.
  • Fix any security issue you may find.

Documentation

This app use Silex, a micro-framework based on the Symfony2 Components. Documentation can be found here: http://silex.sensiolabs.org/documentation

How to submit your work?

  1. First you need to fork this repository.

Forking a repo

  1. Then clone your fork locally.

Cloning a repo

  1. Install the app locally. See the [Installation Guide] (#Installation).
  2. Once you've completed your work, you can submit a pull-request to the remote repository.

 a Pull Request

  1. Review your changes and validate.

Validating a Pull Request

And you're done!

More documentation on Github:

backend-php-test's People

Contributors

t0rat0ra avatar

Watchers

Shashank Singh avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.