Coder Social home page Coder Social logo

umm-csci-3601 / 3601-lab4-mongo Goto Github PK

View Code? Open in Web Editor NEW
0.0 6.0 0.0 6.28 MB

Software Design Lab 4 - MongoDB, Javalin, and Angular

License: MIT License

TypeScript 52.14% JavaScript 0.70% HTML 7.01% SCSS 3.52% Batchfile 0.11% Shell 0.20% Java 36.32%

3601-lab4-mongo's People

Contributors

floogulinc avatar nicmcphee avatar kklamberty avatar helloworld12321 avatar danfrz avatar wallerli avatar dependabot-support avatar dependabot[bot] avatar devshawn avatar dependabot-preview[bot] avatar joethe avatar nickplucker avatar bushw011 avatar codacy-badger avatar

Watchers

 avatar James Cloos avatar  avatar  avatar Kostas Georgiou avatar  avatar

3601-lab4-mongo's Issues

Provide documentation for database seeding on Windows

The seed files in /database/ support seeding the Mongo database for both Unix-like machines and Windows machines, but the README only mentions the mongoseed.sh Shell script. Students might not be aware that Shell scripts are specific to the Bash shell and become confused when attempting to seed the database on their personal (Windows) device. This is a relatively small issue; I'll open my own PR to hopefully address this.

Fix case insensitive queries so they are actually case insensitive

Our case insensitive queries in the example UserController code aren't actually case insensitive, which came as a non-trivial surprise this semester. Despite what lots of things say on this Internet, adding "i" as a Pattern property like this:

      filters.add(regex(COMPANY_KEY,  Pattern.quote(ctx.queryParam(COMPANY_KEY)), "i"));

doesn't actually work.

@miiiiip did some digging and shared a solution on Slack, which is to add a ? in front of the i:

      filters.add(regex(COMPANY_KEY,  Pattern.quote(ctx.queryParam(COMPANY_KEY)), "?i"));

I honestly don't get why we need "?i" instead of just "i", but I'm sure it's in some documentation somewhere.

I also tried using the Pattern.CASE_INSENSITIVE, but never got that to work. I was pushing pretty fast, though, so it might be worth revisiting that. This post on "Case-insensitive string matching in Java" might be a useful resource.

This also should be applied to the iteration template.

Consider revisiting the Javalin tests to make them more consistent

There was an old PR that I reworked a bit and pulled into main, but neither Nic nor I was completely satisfied that it was done-done. The test that was included in the merged PR used argument matchers and was not quite the same as the other tests that were also updated. It might make sense to look at these closely and see if we can explain why one approach is preferable over the other or at least talk about the differences between the approaches.

#23

Add tests for the `Server` class

There's a Javalin testing tutorial that demonstrates using a library called Unirest to fake the HTTP requests and responses that we'd need to test the Server class directly. If we added these tests we'd

  • Have better end-to-end coverage of the server code
  • Be able to include Server in the test coverage calculations

Should we add server side logging?

We could using Java logging tools to provide server side logging. This would allow students to (perhaps) better see/understand what's happening on the server side of their system. This is how "real professionals" would probably do it, but it's not clear to me if it would actually be helpful for the students.

Thoughts?

Replace or remove flex-layout more completely

I'm not going to leave individual comments for each of them but it seems in many places there are still attributes in html elements for the Angular flex-layout library that was removed. Anything starting with fxFlex for example won't be doing anything anymore. This was probably missed in the iteration template as well.

Originally posted by @floogulinc in #55 (comment)

There are places where the selector for flex-layout was replaced but other attributes are still hanging around (not doing anything to help... the freeloaders!). I'm putting this issue here since it came up here, but it might also make sense to refer to it in the iteration template.

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.