Giter Club home page Giter Club logo

whitehatbootcamp's Introduction

Hi there ๐Ÿ‘‹

About Me

Hi there, I am a Software Engineer that has a great passion for learning new technologies. I have background knowledge in a variety of languages ranging from systems and applications languages like Python and C++, to Web development tools like React.js, Typescript and Express.

What am I up to

I'm currently employed full time as a software engineer, working on Full stack websites ๐Ÿ’ป, powershell scripts ๐Ÿ“œ and a variety of other tools.

GitHub Statistics
GitHub Languages

whitehatbootcamp's People

Contributors

james-d12 avatar

Watchers

 avatar

Forkers

mandyww

whitehatbootcamp's Issues

Review of Airport JS API (Module 1 - Day 2)

Really comprehensive solution James, well done.

  • I see that airports-config.yaml is read in, given we have the @Swagger annotations on the methods you can remove the paths property from your yaml file. Check your docs still generate ok
  • I would return a 201 Created for a POST (create of a resource)
  • Really good to see validation of input, can you extend this to whitelist against a regex & check length of input?

Restaurant code review

Great job James, well done. Comments & questions below:

Accessibility

  • clear font
  • + button on Home Page does not have aria-label to explain what it is doing. Also should be nearer the start of the page to save screen reader having to read the whole page before finding it

General

  • use of HTTPS & certificates, nice!
  • good structure of code into separate directories
  • great to see use of fetch() API & understanding of async code
  • great to see evidence of Cypress system tests
  • I notice you are using PUT for edit, I like it, very RESTful. However, as you are using PUT you could remove the /edit from the url as PUT implies an update. /edit only needed if your APIs just use GET and POST
  • need to include client side validation for form data (e.g. check valid url)
  • need to include server side validation

Questions:
How are you using cookies/sessions?

Airports code review

James this is absolutely excellent work! Also been nosing through your other repos, didn't realise you had such great experience with C, C++ and C#, would love to chat more about that another time.

A few comments below:

  • love the neat directory structure with clear separation of data, classes and tests
  • excellent attention to detail eg. use of const, well laid out code, good naming of tests
  • diagram for Airport, excellent
  • Airport class, I am wondering whether in Java/C++ line 14 would cause a problem - at this stage the object isn't fully constructed as the constructor has not completed. Javascript likely to be much less fussy but if you get time can you check how C++ would handle this? (Or we can setup a quick call and I can try in Java).
  • Airport class line 31, JSDoc param should be a string
  • Airport class - ensure you add class JSDoc (describing what the class does) and also text describing each method e.g. https://github.com/WhiteHatLearningProducts/swe-solutions/blob/main/bootcamp/wk1/day4/Airport.js
  • Plane.test.js - what is this expected? No comparison?
  • Crew.test.js - I would separate our tests for failure & tests for success in their own tests

Questions (please reply on Slack)

  1. How much coverage on tests do you have? Please upload a screen shot (sorry haven't got time to clone & run myself) unless you can suggest an easy way where I can just click on a link in your repo to the index.html? I wonder if you reference it as a link in the README.md markup if that would work? If this works, could you try same for JSDoc? I know this means we'd have to change gitignore to include out/ and coverage/ dirs but worth an experiment!

Review of Banking app

what you did well:

  • UML diagram excellent, really accurate
  • excellent to see use of Sequelize
  • good use of response codes especially 409!
  • great to see use of Supertest
  • great to see server-side validation

areas for review:

  • naming of REST resources should be plural e.g /users/${email}/accounts (give me all of the accounts belonging to this user)
  • quite a lot of layers of indirection for the server, I would rename Server/Server to server/src and move API.js into this folder
  • I'd also rename API.js to something else as I assumed routes were in here - hard to find your routes, do you need to name them Controllers? Client folder has a better directory structure.

Scooter Hire code review

James, as ever, this code is absolutely superb. Specific things I love:

  • use of Utility class to generate an id
  • really well thought out design eg. only ElectricScooter has a chargeLevel
  • JSDoc complete
  • ScooterHire, thought/effort put into logic
  • async functions to read scooter info - wow! Will schedule time for you to talk me through this.

A few comments:

  • line 46 of ElectricScooter - does this work? Super normally only used in constructor
  • Customer - no need for line 26

Huge well done.

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.