Lab project in NTUA (2019) for the Software Engineering course 9th semester
This application was developped as part of the 9th semester course, Software Engineering of the National Technical University of Athens, taught by Konstantinos Saidis and Vasilios Veskoukis in the winter semester of 2018. The project was developped by a team of 6 members.
The project task is to develop an online price observatory, wich will allow users to record electronically fuel prices in various gas stations. The observatory will operate by crowdsourcing, so volunteers record prices to share them with others through a web service. Special emphasis should be placed on the development of the appropriate web API.
- The observatory shall consist of (a) a backend and (b) a frontend subsystems, which should be implemented in Java, Javascript or similar.
- The language of the user interfaces should be in Greek.
- A build automation tool of team's choice should be used.
- The observatory should provide an appropriate RESTful Web API to interface with third party applications.
- The following three user roles should be supported:
- registered user - volunteer
- administrator
- reader
- HTTPS protocol should be supported for all pages and utilities via self-signed certificate.
- Spatial display of data should be done through a platform with an online map service (e.g. Google Maps or equivalent) with use of a suitable javascript library (openlayers, mapbox or other).
- Responsive, user-friendly designed and fully funcional pages should be provided in a uniform way for Desktop, Tablet and Mobile devices.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
-
MySQL and Redis should be installed and configured approprialy.
-
GULP should be installed too.
npm i gulp gulp-cli gulp-multi-process npm
Execute the following in order to install dependencies, run the automated tests and bootstrap the servers.
$(npm bin)/gulp
- NodeJS
- Express.js
- MySQL - Main database
- Redis - Used in order to invalidate Json Web Tokens of users that have logged out.
- Angular
- Angular Material
- HTML5 and CSS
- Jest
- GULP
Name | github user name |
---|---|
Alex Kafiris | alexkaf |
Eleftherios Kanavakis | filmnoirprod |
Manolis Vasilakis | manolisvasilakis |
Constantinos Karouzos | ckarouzos |
Manos Zaranis | manzar96 |
Konstantinos Alexakis | konAlexakis |