This is Team Nicolai Thärichen's iteration-one code for the DoorBoard web app, as part of The UMM CSCI Department's "Software Design and Development" class (Spring 2020).
🐚 Teams considering using this code base for iteration two should read items marked with seashells.
DoorBoard is a virtual sticky-note board for office dwellers who need a way to remotely and conveniently post last minute scheduling announcements (or other information) to visitors.
Almost all of the code in this repository is in a working state. However, there a couple of known issues with this project; if you use this code base, you should fix these for the next iteration.
- 🐚 The website isn't very legible if your browser is in dark mode. To fix
this, you may want to change the color of the text on the sticky-notes so
that it's always black. This change should probably go in the
client/src/app/notes.scss
file. (You also probably want to changeclient/src/app/app.component.scss
so that the background color isn't alwayswhitesmoke
; in dark mode, the background color should probably be dark grey.) - 🐚 When the user clicks the
GENERATE PDF
button, a PDF file is saved to their downloads folder. At the moment, this file doesn't have the.pdf
extension at the end. To fix this, you'll need to change thesavePDF()
method in theclient/src/app/home/home.component.ts
file. - 🐚 In
server/src/main/java/umm3601/notes/NoteController.java
, the methodseditNote()
anddeleteNote()
will throw an exception if the path parameter:id
isn't formatted like a Mongo ID (for example, if it isn't a hex string, or if it's got the wrong number of digits). This will cause a500 Internal Server Error
.
🐚 The server's API is a bit weird in places. A full description of the API is can be found in HTTP_API.md.
As always, instructions on how to crate a DigitalOcean Droplet and setup the project are in DEPLOYMENT.md.
🐚 If you want to deploy this project on a new droplet, you will need to
change the domain name in the file
client/src/environments/environment.prod.ts
. (Specifically, you need to
change the value of BASE_URL
.) This value is used to generate the link on
the PDF; if you don't change it, the PDF will point to the webpage from
iteration one.