At work I’ve been working on a project to replace the current mundane task of recording trailer info for our Asset Protection team.
Currently, its all completed by hand on paper records. The records are then scanned as a .pdf and saved to our fileserver and the paper logs are filed away. They are saved for 5 years before being chucked.
As you can see, this leads to huge dependency on paper. Furthermore, searching for any old data that is more than a week at a time takes on average upwards of one hour to find.
As a budding software developer I saw an opportunity. Bellow, is the GitHub page as well a demo running on Heroku if you want to give feedback (I would love that btw). Feel free to make reports for bugs.
Project details
This webapp is a full-stack Javascript RESTful app. The underlying tech is Node and client runs detached from the server, so no SSR. This is an SPA running the MEVN stack. I use a material design from Veutify for the css framework.
I had a quick try of the live demo and added some entries, I very much like the UI/UX design, its simple and easy to understand and puts the data in front of the user, I also like how quick and fast the search function is at pulling data in realtime. Possible suggestion of populating the search box with data from fields when clicking on them? for example clicking on anderson as the warehouse will populate the search field and retrieve all entries relating to that warehouse. Overall its looking very good.
Been messing around with it. Why have two different time fields for arriving and departing when you already have a indicator for when its going outbount or inbound. If the time is 2:09 and its outbound then that is the departure time.
This is because some trucks, during the roll over at midnight, will have a status of outbound, in which case they would be only an outbound log, and not a inbound -> outbound.
The application, by default only shows the current days logs. This is defined as midnight of that day, and then all the way until the millisecond before the next midnight.
So if a truck comes in at say 11:59:59 as an inbound but doesn’t leave until the next day, we would need to have a way to show this.
Edit: Another thing is that inbound trucks don’t leave at the time they come in. They can stay for a couple hours or a couple of days. So there is time in-between. This wasn’t mentioned in the project description details, but this was one of the requirements for it. Once its at 1.0 I’ll get some docs together, until then there will be sweeping changes.
Edit: another thing I have in the pipe is updating existing logs in the table. Currently, I’ve been doing research between the different in put or patch requests and when to use each in a REST api.
@Dje4321 Hopefully that answered your question. If you get anymore please ask.
Added new features, the ability to edit and delete logs in the table. So now basic CRUD operations can be done on the table. The last thing left I have yet to do is do specific form field validation. Once this is complete, the project will be 2/3 complete!
It works surprising well on mobile, I like the the colour coded icons for inbound/outbound makes it easy to see at a glance, although these before the tooltips are great espiecally on mobile as well as the no results found indicator. I did notice that you are now unable to find results when searching for either a warehouse or trailor. I think that’s mostly it. I’ll take another look at it on my desktop when I get home.
So I did a bit more tooling, and with the current layout, there is no need to search for warehouse when you can sort by warehouse and then display as much as you need.
The search does not go one level deep into sub components text properties, it just evaluates strings if they are present. I.E, does not search the text inside of a tag.
I’m going to try and bind some values in my search model to the value of the pop inside my main component state. So when you search, the props inside the tag are still not searchable, but they are mirrored to a value inside my state which the search function can parse through.
So for a little overhead it should be able to bring searching back.