Giter Club home page Giter Club logo

coding-test's Introduction

Coding Test

Do you want to join the engineering team at Connect, Inc.? Apply here if you have not do.

We have created this coding test in order to gain insights into your development skills. More details are down below.

Table of Contents

Procedure

  1. Fork this repository

  2. Design and Refactor

Please go to this URL and read this through. It explains more details of this coding test and imaginary scenario.

  1. Make a Pull Request

Don't create a pull request to this repository. Please make a pull request on your repository.

  1. Send us your Pull Request url that we can access

Get Started

Requirements

Setup

$ cp .env.example .env
$ composer install

Executing

Here is the case with Laravel sail. It depends on you.

$ ./vendor/bin/sail up
$ ./vendor/bin/sail artisan key:generate
$ ./vendor/bin/sail artisan migrate:fresh --seed

Testing

Here is the case with Laravel sail. It depends on you.

$ ./vendor/bin/sail artisan test

Architecture

flowchart LR
  Request -- Parameters --> c[Controller]
  c --> m[Model]
  m -- Data --> c
  c -- Resource -->  Resource
Loading

Specifications

This repository provides an API for admins to create and publish job data.

APIs

  • Public
    • GET /api/jobs: Get a list of opening jobs
    • GET /api/jobs/{id}: Retrieve a opening job by its id
  • Admin
    • POST /api/admin/login: Log in
    • POST /api/admin/logout: Log out
    • GET /api/admin/me: Get currently logged in user data
    • GET /api/admin/jobs: Get a list of jobs
    • GET /api/admin/jobs/{id}: Retrieve a job by its id
    • POST /api/admin/jobs: Create a job
    • PUT /api/admin/jobs/{id}: Update the job
    • DELETE /api/admin/jobs/{id}: Delete the job

APIs in the future

Our clients want companies to register their jobs as well. So, we need to provide some APIs:

⚠️ You don't need to implement these apis, but refactor current code for the future. ⚠️

  • Company
    • POST /api/company/login: Log in
    • POST /api/company/logout: Log out
    • GET /api/company/me: Get currently logged in user data
    • GET /api/company/jobs: Get a list of their jobs
    • GET /api/company/jobs/{id}: Retrieve a their job by its id
    • POST /api/company/jobs: Create a job
    • PUT /api/company/jobs/{id}: Update a job
    • DELETE /api/company/jobs/{id}: Delete a job

coding-test's People

Contributors

isseiyuki 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.