GithubHelp home page GithubHelp logo

jwharrie / foody-app Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 6.94 MB

Makefile 1.17% JavaScript 39.52% Dockerfile 0.70% Shell 0.65% TypeScript 11.98% PHP 42.88% Blade 1.51% HTML 0.87% Less 0.71%

foody-app's Introduction

foody

Introduction

foody is a simple web application built to help developer candidates demonstrate practical skills with

both before the interview (by completing the "Getting Started" steps) and during the interview (by solving simple problems hands-on with our team, either on screenshare or in-person).

By using foody in our interviews we hope to:

  • Reduce bias: Candidates complete the same set of steps and problems as other candidates with the same experience for the same role. Each problem has specific evaluation criteria.

  • Reduce the (unrealistic!) need for memorization: Most developers can't memorize the names of every function, their arguments, and the precise details of how they behave, or recall them during an interview. Candidates are free to use Google, Stack Overflow, man pages, documentation, tutorials, etc during their interview as they would normally.

  • Make interviews more efficient: Candidates complete the "Getting Started" steps and prepare for their interview ahead of time, at their convenience, resulting in a shorter, more focused interview.

  • Make interviews more comfortable: Candidates come to their interview having already seen the codebase they'll be solving problems in.

  • Provide realistic problems: Candidates are given realistic problems to solve rather than trivia, logic puzzles, or trivial problems that can be introduced and set up entirely during the interview.

Getting Started

Introduction

The project is divided into four main subdirectories.

  • database: a set of SQL files to create the database.
  • private-api: a NestJS API to query the database (in a production environment this API would not be publicly accessile).
  • public-api: a Laravel API used by the web layer.
  • web-ui: a React application to interact with the public API.

Getting started

foody is built on Docker, using MySQL, NestJS, Laravel and React. In order to solve the problems during the interview, you will need a computer that's capable of running the application, and a user with rights to install the required tools.

Install Docker and make

Install Docker and make. The exact steps will vary depending on your operating system.

Clone the application

Clone the application using the Github template repo.

Start the application

Start the application using the Makefile in the project's root.

Confirm the application is properly configured

The application should be accessible at http://localhost:7755/.

If everything was installed and configured correctly, you should see a web page welcoming you the the foody app. If the app fails to start or doesn't work properly, you should figure out why by checking the output recevied during start up, and try to fix it. (This isn't a test. The app should start correctly following the instructions above.)

Familiarize yourself with the basics of the application and the technologies used

foody is a simple web application for tracking the consumptions of foods and nutrients of a set of users.

Data model

Disclaimer

foody is not by any means a finished product. It's not intended to run on a production server, and it's sole purpose is to run on a candidates computer in development mode.

foody-app's People

Contributors

jwharrie avatar

Watchers

 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.