Code Monkey home page Code Monkey logo

quadraticequation's Introduction

FoondaMate Software Engineer Coding Challenge-001

Background

  1. Assume a fast growing company would like to visualise the growth of their userbase using a CLI application
  2. They want to do this by running a terminal command that draws a graphs in the terminal
  3. Their brilliant backend engineers have hacked together an API endpoint for them here. That outputs -Dates (as keys) and -the number of active users on those dates (as values)
  4. They would like to be able to filter the data by:
  • Start date
  • And end date

(by passing these as flags when running the CLI command) and have the graph visualise data for the range they’ve selected.

They would also like to restrict the filtering of the data to the dates they have available: Note, they don’t always know what dates they have data for, and are at the mercy of the API endpoint.

TASK

  1. Use any programming language to create a CLI tool per the specifications under background above.
  2. Write tests for your business logic, bonus points for testing other layers such as the networking layer.
  3. Write a Readme.md in your repo on how your app works and how one can go about setting it up locally.
  4. Push your code to a public repo on GitHub and send the link via email to [email protected]

Solution

Please note this solution was built and tested on 0.04.4 LTS with Python 3.9

To Run The Application

# "Activating virtual environment and installing requirements"
user@device:~/QuadraticEquation$ python3.9 -m venv env
user@device:~/QuadraticEquation$ source ./env/bin/activate
user@device:~/QuadraticEquation$ pip3 install requirements.txt

# "Start and End date should be formatted d-m-yr e.g 16-02-2022"
# "To run the application"
# "python FoondaMateSoftwareEnginner/main.py start_date end_date"
user@device:~/QuadraticEquation$ python FoondaMateSoftwareEnginner/main.py 01-01-2022 02-02-2022

# "To run tests"
user@device:~/QuadraticEquation$ python FoondaMateSoftwareEnginner/test_service.py

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.