Skip to content

gemography/web-internship-cc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 

Repository files navigation

Web Coding Challenge (Internship)

Idea of the app

Alfie has one of the weirdest cravings ever; no matter what time it is or where he is, he gets an urge to buy food as soon as possible. For someone who has never money problems like Alfie, this shouldn't be an issue. However, he cannot always remember where the nearest shop is or which are his favorite ones, which makes it hard for him to satisfy his appetite.

Your task is to implement an app that allows people like Alfie to see the list of all the nearby shops, as well as to keep track of their favorite ones.

Technologies to use

For the Backend, you can use one the options listed below :

  • Java/Spring Boot
  • NodeJS (ExpressJS)
  • Python/Django
  • Ruby on Rails
  • Laravel or Symfony

For the Frontend, you can use one of the options listed below :

  • Angular
  • React
  • VueJS

As for the database, you should use MongoDB.

Features

  • As a User, I can sign up using my email & password
  • As a User, I can sign in using my email & password
  • As a User, I can display the list of shops sorted by distance
  • As a User, I can like a shop, so it can be added to my preferred shops
    • Acceptance criteria: liked shops shouldn’t be displayed on the main page
  • [Optional] As a User, I can dislike a shop, so it won’t be displayed within “Nearby Shops” list during the next 2 hours
  • [Optional] As a User, I can display the list of preferred shops
  • [Optional] As a User, I can remove a shop from my preferred shops list

Mockups

Main Page - List of shops neaby my location sorted by distance

My Preferred Shop page - List of already preferred shops

Application Data

A MongoDB dump with ~300 shops is provided. To import the data, you need to extract the zip file then execute the command below :

mongorestore --db shops shops/

→→ A shop database will be created with a shops collection.

→ → Dump File : here

How we'll evaluate 🚨

  • Your code will be evaluated based on: code structure, programming best practices, legibility.
  • The git commit history will be also evaluated.
  • Do not forget documentation. Or how are we going to evaluate your work if we can't init the project on our machines?
  • Put more focus on code quality and less on speed. Don't hack something quickly, take your time and craft something clean.

Questions?

Asking questions is highly recommended in this exercise. Do not assume anything!

If you have any questions or feedback, don't hesitate to contact us via zakaria@hiddenfounders.com

Once you're done with the app

Put the code of your project on Github and send the URL to zakaria@hiddenfounders.com

Useful links & resources

Best Practices

Javascript

Vue

React

Angular

Java/Spring

PHP / Laravel / Symfony

MongoDB

That’s it ! May the force be with you !! 🖖

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published