Giter Club home page Giter Club logo

portfolio-project-51's Introduction

My Company Data

Purpose of the project


The purpose of the project is to give the user an insight to employee data regarding Employer ID, Full name, age, nationality as well as the ability to see the average salary and gender difference within the company. Full name and Employer ID will not be made visible to the user because the information should stay anonymous.

User stories


  • As a user I would like to know what kind of input is required.
  • As a user I would like to know what options of information are available before I type it in the console.
  • As a user I would like to continue the program after an error has occurred.
  • As a user I would like to know what kind of Error has occured and what I need to change in my input to get the correct output.

Features


Welcome Screen

  • The welcome message is displayed once all the functions have loaded.

First data category: Nationalities

  • If the user enters "1" in the terminal, this data will be printed to the terminal.

Second data category: Genders

  • If the user enters "2" in the terminal, this data will be printed to the terminal.

Third data category: Salary

  • If the user enters "3" in the terminal, this data will be printed to the terminal

Future Features


I would like to add GUI to the application with charts of the data.

Lucid Chart


This is the lucid chart for the project

Technology


lucid.app

  • I used Lucid App for making my lucid chart.

GitHub

  • GitHub is where the code is stored and the site was hosted.

GitPod

  • GitPod is the developer environment in the cloud.

Google Cloud Platform

  • This is where I get the API keys to be able to communicate between the app and Google Sheets as well as Google Drive

Heroku

  • Heroku is the environment where the app will be able to run with a terminal

Testing


Code validation

  • Code validator / PEP8

Here is a screenshot of the result of PEP8 code validator - all clear

  • Passed without any faults

Test cases - Welcome Screen

This is a screenshot of the welcome message of the app

  • The welcome message is displayed once all the functions have loaded.

Test cases - First data category: Nationalities

Screenshot of the nationalities data category

  • If the user enters "1" in the terminal, this data will be printed to the terminal.

Test cases - Second data category: Genders

Screenshot of the genders data category

  • If the user enters "2" in the terminal, this data will be printed to the terminal.

Test cases - Third data category: Salary

Screenshot of the salary data category

  • If the user enters "3" in the terminal, this data will be printed to the terminal

Test cases - Wrong input

Screenshot of wrong input to terminal

  • Here I have entered three incorrect inputs, a number higher than 1 to 3, a negative number, and a string.
  • This is the error messages shown to the user.

Fixed bugs

  • Fixed bug where I used a while loop that ran indefinitely.
  • Fixed bug that didn't validate the user input. It didn't give an error but always printed out "Your input has been validated, printing data to terminal" to the terminal regardless of if the input was 1, 2 or 3 or even the word 'cat'.
  • Fixed bug that

Deployment


via GitPod

  • GitPod was used as the environment for development. These are the steps to set it up:

via Heroku

  • Heroku provides the interface to be able to run python programs. This is how I set it up:
    • I log on to my account at Heroku, then up on the right hand side there's a button that says New -> Create new app.
    • I named the project and selected Europe since that's where I'm located.
    • Then I navigate to the newly created app and select Settings.
    • Once in there I have to add my API credentials.
      • Find section called Config Vars and add a new one. in Keys I added 'CREDS' and then in Value I added the confidential information. Click Save.
    • Next thing to do in Settings section is to use Buildpacks. Add both Python and NodeJS, one at a time and click Save.
      • Make sure Python is the top one. If it is not you can drag and drop it at the top.
    • Then go to Deploy section and select GitHub and then log in with your GitHub account.
    • Remember to push your code every once in a while to Heroku.

Find my app here: https://portfolioproject3.herokuapp.com/

Credits


Code

  • I would like to thank my mentor Rohit for providing me with refactoring my code as well as this nugget:
if __name__ == '__main__':
    main()
  • I would also like to thank W3Schools that I used frequently to refresh my memory with methods, functions and other tips.
  • Another useful help was the Love Sandwiches Walkthrough project by Code Institute

Templates

portfolio-project-51's People

Contributors

pakkone 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.