Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump axios from 0.18.1 to 0.21.1 #4

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
35 changes: 35 additions & 0 deletions .babelrc
@@ -0,0 +1,35 @@
{
"env": {
"test": {
"presets": [
["env", {
"targets": {
"node": "current"
}
}]
]
},
"development": {
"presets": [
["env", {
"modules": false,
"targets": {
"browsers": "> 2%",
"uglify": true
}
}]
]
},
"production": {
"presets": [
["env", {
"modules": false,
"targets": {
"browsers": "> 2%",
"uglify": true
}
}]
]
}
}
}
12 changes: 12 additions & 0 deletions jest.config.js
@@ -0,0 +1,12 @@
// jest.config.js
module.exports = {
// testRegex: 'resources/js/tests/.*.spec.js$',
moduleNameMapper: {
"^@/(.*)$": "<rootDir>/resources/js/$1"
},
moduleFileExtensions: ['js', 'json', 'vue'],
transform: {
'^.+\\.js$': '<rootDir>/node_modules/babel-jest',
'.*\\.(vue)$': '<rootDir>/node_modules/vue-jest'
},
}
8 changes: 6 additions & 2 deletions package.json
@@ -1,6 +1,7 @@
{
"private": true,
"scripts": {
"test:unit": "cross-env NODE_ENV=test jest",
"dev": "npm run development",
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch": "npm run development -- --watch",
Expand All @@ -10,13 +11,16 @@
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
},
"devDependencies": {
"axios": "^0.18.0",
"@vue/test-utils": "^1.1.3",
"axios": "^0.21.1",
"bootstrap": "^4.0.0",
"cross-env": "^5.1",
"jest": "^26.6.3",
"jquery": "^3.2",
"laravel-mix": "^2.0",
"lodash": "^4.17.5",
"popper.js": "^1.12",
"vue": "^2.5.17"
"vue": "^2.5.17",
"vue-jest": "^3.0.7"
}
}
100 changes: 49 additions & 51 deletions readme.md
@@ -1,68 +1,66 @@
<p align="center"><img src="https://laravel.com/assets/img/components/logo-laravel.svg"></p>

<p align="center">
<a href="https://travis-ci.org/laravel/framework"><img src="https://travis-ci.org/laravel/framework.svg" alt="Build Status"></a>
<a href="https://packagist.org/packages/laravel/framework"><img src="https://poser.pugx.org/laravel/framework/d/total.svg" alt="Total Downloads"></a>
<a href="https://packagist.org/packages/laravel/framework"><img src="https://poser.pugx.org/laravel/framework/v/stable.svg" alt="Latest Stable Version"></a>
<a href="https://packagist.org/packages/laravel/framework"><img src="https://poser.pugx.org/laravel/framework/license.svg" alt="License"></a>
</p>
<p align="center"><img src="https://www.medoucine.com/images/logos/logo.svg" width="350"></p>

## About Laravel
## Fullstack developper test

Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as:
Hi!

- [Simple, fast routing engine](https://laravel.com/docs/routing).
- [Powerful dependency injection container](https://laravel.com/docs/container).
- Multiple back-ends for [session](https://laravel.com/docs/session) and [cache](https://laravel.com/docs/cache) storage.
- Expressive, intuitive [database ORM](https://laravel.com/docs/eloquent).
- Database agnostic [schema migrations](https://laravel.com/docs/migrations).
- [Robust background job processing](https://laravel.com/docs/queues).
- [Real-time event broadcasting](https://laravel.com/docs/broadcasting).
Great that you're interested in this exercise! Thanks a lot for making it. The exercise is about making a minimal search engine of medoucine with Laravel and VueJS.

Laravel is accessible, yet powerful, providing tools needed for large, robust applications.
![Image](https://github.com/medoucine/fullstack-recruitment-test/blob/master/result.gif)

## Learning Laravel
### What you'll have to do:
- Allow user to search therapists by city and practice with the form
- Allow user to search therapists by clicking on links
- Cities, practices and search links have to be generated from therapists list (./database/db.json)
- **The form and the links can't lead to no result**
- Make design integration with SASS and Bootstrap 4
- Make all user interaction with VueJS (./resource/js/component/MainComponent.vue)
- Make a quick API with Laravel 5.7 (which will serve cities, practices, ..)

Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of any modern web application framework, making it a breeze to get started learning the framework.
#### Technical expectations
**Front- JS**
At least 1 component must be tested, with at least 2 unit tests.
You'll have to explain:
- your decisions regarding HTML/CSS
- your decisions regarding component structure

If you're not in the mood to read, [Laracasts](https://laracasts.com) contains over 1100 video tutorials on a range of topics including Laravel, modern PHP, unit testing, JavaScript, and more. Boost the skill level of yourself and your entire team by digging into our comprehensive video library.
**Back - PHP**
You'll have to explain:
- your PHP architecture, How did you manage service responsability ?

## Laravel Sponsors
You'll have to unit test codes responsible for getting the search results, according to specs

We would like to extend our thanks to the following sponsors for helping fund on-going Laravel development. If you are interested in becoming a sponsor, please visit the Laravel [Patreon page](https://patreon.com/taylorotwell):
**Ops - Bash (Bonus)**
Write a deployment bash script (install, test, build, serve)
It should fail if one or more commands fails.

- **[Vehikl](https://vehikl.com/)**
- **[Tighten Co.](https://tighten.co)**
- **[Kirschbaum Development Group](https://kirschbaumdevelopment.com)**
- **[64 Robots](https://64robots.com)**
- **[Cubet Techno Labs](https://cubettech.com)**
- **[British Software Development](https://www.britishsoftware.co)**
- **[Webdock, Fast VPS Hosting](https://www.webdock.io/en)**
- [UserInsights](https://userinsights.com)
- [Fragrantica](https://www.fragrantica.com)
- [SOFTonSOFA](https://softonsofa.com/)
- [User10](https://user10.com)
- [Soumettre.fr](https://soumettre.fr/)
- [CodeBrisk](https://codebrisk.com)
- [1Forge](https://1forge.com)
- [TECPRESSO](https://tecpresso.co.jp/)
- [Runtime Converter](http://runtimeconverter.com/)
- [WebL'Agence](https://weblagence.com/)
- [Invoice Ninja](https://www.invoiceninja.com)
- [iMi digital](https://www.imi-digital.de/)
- [Earthlink](https://www.earthlink.ro/)
- [Steadfast Collective](https://steadfastcollective.com/)
- [We Are The Robots Inc.](https://watr.mx/)
- [Understand.io](https://www.understand.io/)

## Contributing

Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions).
To complete this test you need to download (NOT fork) this repo. When you're done you can push your changes to your own repo (and let us know where to find it of course).

## Security Vulnerabilities
## Prerequisites
- PHP7.x
- Node >=6
- Yarn
- PHP composer

If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [taylor@laravel.com](mailto:taylor@laravel.com). All security vulnerabilities will be promptly addressed.
## Installation

## License
1. Fork and pull this repository
2. Install PHP packages
3. Install NodeJS packages

## Developpment

- Run a server with `php artisan serve`
- Run auto compilation with `npm run watch` or `npm run watch-poll` (see packages.json for full list of commands)
- Use the json file as database located in `./database/db.json` which represent list of therapists

## Finish

Send us back your work!


![Image](https://github.com/medoucine/fullstack-recruitment-test/blob/master/result.png)

The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).
10 changes: 10 additions & 0 deletions resources/js/components/MainComponent.test.js
@@ -0,0 +1,10 @@
import Component from './MainComponent.vue'
import { shallowMount } from '@vue/test-utils'

describe('Component', () => {
it('Dummy', () => {
const wrapper = shallowMount(Component)

expect(wrapper).toBeTruthy()
})
})