├── dump-shops.zip ├── existing-code.md ├── tips-and-tricks.md ├── README.md └── coding-challenge.md /dump-shops.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gemography/web-coding-challenge/HEAD/dump-shops.zip -------------------------------------------------------------------------------- /existing-code.md: -------------------------------------------------------------------------------- 1 | Existing code 2 | --------------- 3 | 4 | If you have existing code, please follow the following guidelines: 5 | 6 | * Include a link to the hosted repository (e.g. Github, Bitbucket...). We cannot review archives or single files. 7 | The repo should include a README that follows the principles described below In particular, please make sure to include high-level explanation about what the code is doing. 8 | Ideally, the code you're providing: 9 | Has been written by you alone. If not, please tell us which part you wrote and are most proud of in the README. 10 | Is leveraging web technologies. 11 | Is deployed and hosted somewhere. -------------------------------------------------------------------------------- /tips-and-tricks.md: -------------------------------------------------------------------------------- 1 | ### Best Practices 2 | 3 | - https://try.github.io/levels/1/challenges/1 4 | - https://github.com/noffle/art-of-readme 5 | - https://github.com/kamranahmedse/design-patterns-for-humans 6 | - https://pages.apigee.com/rs/apigee/images/api-design-ebook-2012-03.pdf 7 | 8 | ### Javascript 9 | 10 | - https://github.com/airbnb/javascript 11 | - https://github.com/verekia/js-stack-from-scratch/blob/master/README.md 12 | - https://github.com/bmorelli25/Become-A-Full-Stack-Web-Developer 13 | - https://github.com/i0natan/nodebestpractices 14 | - https://github.com/ryanmcdermott/clean-code-javascript 15 | 16 | ### Vue 17 | 18 | - https://vuejs.org/v2/guide/ 19 | - http://www.youtube.com/playlist?list=PL55RiY5tL51p-YU-Uw90qQH419BM4Iz07 20 | 21 | ### React 22 | 23 | - https://github.com/enaqx/awesome-react 24 | - https://goo.gl/ZGhBGF 25 | - https://github.com/vasanthk/react-bits 26 | 27 | ### Angular 28 | 29 | - https://github.com/gdi2290/awesome-angular 30 | - https://news.thisdot.co/angular-news-angular-4-lazy-loading-best-practices-native-mobile-apps-with-nativescript-c336097ef028 31 | 32 | ### Java/Spring 33 | 34 | - https://github.com/cxxr/better-java 35 | - https://github.com/stunstunstun/awesome-spring-boot 36 | 37 | ### PHP / Laravel / Symfony 38 | 39 | - https://github.com/ziadoz/awesome-php 40 | - https://github.com/sitepoint-editors/awesome-symfony 41 | - https://github.com/TimothyDJones/awesome-laravel 42 | - https://github.com/chiraggude/awesome-laravel -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Web Coding Challenge 2 | 3 | The [coding challenge](coding-challenge.md) is optional if you already have some code that you're proud of and can share with us. 4 | 5 | Coding Challenge Requirements 6 | ---------------- 7 | [Requirements can be found here.](coding-challenge.md) 8 | 9 | How we review 10 | ---------------- 11 | 12 | Your application will be reviewed by at least two of our engineers. We do take into consideration your experience level. 13 | 14 | **We value quality over feature-completeness**. It is fine to skip certain features aside provided you mention them out in your project's README. 15 | 16 | The aspects of your code we will review include: 17 | 18 | * **Architecture**: how clean is the separation between the front-end and the back-end? 19 | * **Code quality**: is the code simple, easy to understand, and maintainable? Are there any code smells or other red flags? Does object-oriented code follows principles such as the single responsibility principle? Is the coding style consistent with the language's guidelines? Is it consistent throughout the codebase? 20 | * **Version Control**: are you commiting early and often ? how good are your git commit messages ? 21 | * **Correctness**: does the application do what was asked? If there is anything missing, does the README explain why it is missing? 22 | 23 | Useful links 24 | --------------- 25 | [Useful links can be found here.](tips-and-tricks.md) 26 | 27 | 28 | ------------ 29 | That’s it ! May the force be with you !! 🖖 30 | -------------------------------------------------------------------------------- /coding-challenge.md: -------------------------------------------------------------------------------- 1 | # Coding Challenge Requirements 2 | If you don't already have code to share, you can work on our coding challenge described below. 3 | 4 | Please organize, design and document your code as if it were going into production, then send us a link to the hosted repository (e.g. Github, Bitbucket, Gitlab...). 5 | 6 | Technical spec 7 | --------------- 8 | Your application should be split between a **back-end** and a **web front-end**. 9 | 10 | We believe good engineering is about using the right tool for the right job, and constantly learning about them. 11 | 12 | The **front-end** should ideally be a single page app with a single index.html linking to external JS/CSS/etc. 13 | 14 | For the **back-end**, you can **use any web framework**, but here's some of the technologies our teams are familiar with: 15 | 16 | * Python 17 | * JavaScript 18 | * Ruby 19 | * PHP 20 | * Go 21 | * Java 22 | * Elixir 23 | 24 | 25 | Functional spec 26 | --------------- 27 | The coding challenge is about implementing an app that lists shops nearby. 28 | 29 | - As a User, I can sign up using my email & password 30 | - As a User, I can sign in using my email & password 31 | - As a User, I can display the list of shops sorted by distance 32 | - As a User, I can like a shop, so it can be added to my preferred shops 33 | - Acceptance criteria: liked shops shouldn’t be displayed on the main page 34 | 35 | Bonus point (those items are optional): 36 | - [BONUS] As a User, I can dislike a shop, so it won’t be displayed within “Nearby Shops” list during the next 2 hours 37 | - [BONUS] As a User, I can display the list of preferred shops 38 | - [BONUS] As a User, I can remove a shop from my preferred shops list 39 | 40 | 41 | Mockups 42 | --------------- 43 | 44 | ![Main Page - List of shops neaby my location sorted by distance](https://d2mxuefqeaa7sj.cloudfront.net/s_42947E7C35A750A25D07D7432619573EA3862052B5357BE997A071FD6789712E_1510745488079_Assignment+-+FullStack+Web.png) 45 | 46 | ![My Preferred Shop page - List of already preferred shops](https://d2mxuefqeaa7sj.cloudfront.net/s_42947E7C35A750A25D07D7432619573EA3862052B5357BE997A071FD6789712E_1510745502935_Assignment+-+FullStack+Web+copy.png) 47 | 48 | 49 | How will we review? 50 | --------------- 51 | [Guidelines can be found here](README.md) 52 | --------------------------------------------------------------------------------