Technologies: NodeJS, Javascript

Status: Complete, No longer maintained.

A simple implementation of a web application used to track reservations for systems. It was done as the final assignment for a distributed system class, this is only the server part, there was also a client which ran on multiple systems. I am not including it since I did not code it.

What works

The server works, exposes a simple API that allows to register and reserve systems. It has some periodic functions which cleanup stale information. In this version all data is kept in memory, there is no database layer.

The objective

This is intended as a 'lab manager'. When you have a large collection of remotely accessible systems people tend to fight each other for using them. This application provides a way for users to reserve systems and if somebody different than that person tries to use it she gets an error.

More Information

This is the server side, written in javascript using NodeJS and Express. The idea was to get a feeling of how those technologies work. It exposes a simple REST API that allows the client to perform its operations.
The server keeps track of systems reservations and provides a way to the client to inquire about the status of each system.
It was the job of the client to figure out if it had to kick out an user or send a notification that the time is almost over.

No database was implemented as this was created for a class in my master's degree. However a very simple array based storage was created coupled with a thin database mapper, so it should be fairly easy to substitute for a real database.

My participation

I designed the REST API and implemented the server, but I did not code the client (hence why its not published here)

What is broken

Dunno, there was not enough testing, so there may be something hidden there.