GithubHelp home page GithubHelp logo

python-rest-challenge's Introduction

Instructions

Fork this repository and submit a url to the forked repository with your solution. Please provide documentation in this README explaining the following:

  • How to run including any configuration needed
    • Install pipenv with pip install pipenv
    • Install necessary dependencies into separate envrionment by running pipenv install
    • Enter the virtualenv with pipenv shell
    • Run project with pipenv run python server.py <port> <fileToReadFrom>
  • Any thoughts on how to expand this application in the future
    • Maybe we would want to create and store the concept of relationships between people, either familial or academic (maybe some people had the same 3rd grade teacher for example). If we had information for each students' 3rd grade teacher we could store teachers and students in separate tables and have a 1-to-Many relationship between stduents and 3rd grade teachers by adding a foreign key to what would be the students table. Or if we wanted to represent a person's entire teacher history we could have a Many-to-Many relationship between students and teachers and join on a third table that would correlate student IDs to teacher IDs.
  • What you have covered or not covered.
    • I assume good input and generally don't validate much.
    • I would have liked to play around with some of the Flask patterns that are recommended for large applications but I figured I would save that for another day. For example it would have been nice to have data models that could help validate the input and coerce the types of the inputs. It would definitley be nice to handle the logic for inferring the age of a person from their 3rd grade graduation date in the model rather than when reading the data in.
    • I thought about doing different pre-processing of the data since we knew exactly what queries we would be doing but I did not want to duplicate the data in this context and I figured it would be better to show the manipulation of the data in the methods rather than sort of blackboxing that away.

General instructions and tasks

Read and pull in data from people.csv. Fill in the requests in server.py where TODOs are stated in the comments. Get as many done as you can. If you have time create unit tests. Feel free to add other systems to the application. Also feel free to submit issues on this public branch with questions if you have any.

python-rest-challenge's People

Contributors

jcaffrey avatar bobbyjohansen avatar

Watchers

James Cloos avatar  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.