This API aims to provide access to information present on FEUP's websystem SIGARRA, such as menus of the faculty's restaurants and bars, ERASMUS' vacancies, access to your personal information, timetable visualisation, and more. We use technologies such as NodeJS, Express, Mocha and Chai. Made with ❤️ by NIAEFEUP.
The best approach to install docker
is to follow the offical guide here.
Please follow the steps in Install using the repository
section.
Next, follow these steps to configure docker access with non sudo permissions in the Manage Docker as a non-root user
section.
The best approach to install docker-compose
is to follow the offical guide here.
To start developing, you must create a file .env
with environment variables, which are explained in more detail below.
After creating the .env
file, you must build a dev server.
./dev.sh --build
If you have already built the images/containers before you can simply run:
./dev.sh
The
dev.sh
file is available in the project's root folder
This will create a development server with hot reloading which will listen on http://localhost:3000 by default, unless you specify another port.
To run the test suite, the workflow is similar to the development one.
./test.sh --build
If you have already built the images/containers before you can simply run:
./test.sh
The
test.sh
file is available in the project's root folder
The production environment is created by doing:
./prod.sh --build
If you have already built the images/containers before you can simply run:
./prod.sh
The
prod.sh
file is available in the project's root folder
This environment doesn't have hot reloading and is made to be used in the main server which is running this aplication.
HOST_PORT
= The port where you will access in your machine (http://localhost:<HOST_PORT>)CONTAINER_PORT
= The port where the app will run inside the container (Can be the same asHOST_PORT
)MONGO_URI
= [Optional] Specify a URI for an external mongo database
This project uses Node.js
with Express.js
for the API routing and request-response logic. The DBMS used is Mongo, using Mongoose for the Node.js connection.
The testing is done with Mocha
and Chai
.