Skip to content

finitum/CSHub

Repository files navigation

CSHub Build Status

This is a project made for the TU Delft CSE studies, where everyone can post information, summaries and more, for everyone to see and read.

Running the project

  • Install NodeJS, and install the dependencies of the server and client projects (npm install in the correct directories)
  • For the server, run ts-node, or use the provided IntelliJ runconfigs
  • For the client, run yarn run serve :)

Feature Requests / Bug Reports

Create a GitHub issue on this repository, and we will try to take a look at it.

How does it work?

This project uses TypeScript. This is typed JavaScript, so we can use many advantages of typedness, and use object oriented programming constructs like classes.

The project is divided into different sections:

  • Client
  • Server
  • Shared

In order to facilitate typed communication between server and client, we have a shared package. Here, many models of different parts of the app are defined, so we are sure an object has the properties we need. It also defines how the api-calls function, as it provides classes that can be passed between server and client. These classes include a certain URL, which both the server and client use for their communication. This makes sure that the client always calls a URL on the server which the server can handle.

For the api we make use of express, which gives us a request object we can work with. For the front-end, Vue.JS is used, though also with TypeScript, which is not the default. See the comments in the corresponding files for more information.