niaefeup / api-sigarra Goto Github PK
View Code? Open in Web Editor NEWDeveloping an API for Sigarra platform of the University of Porto
License: GNU General Public License v3.0
Developing an API for Sigarra platform of the University of Porto
License: GNU General Public License v3.0
It should be possible to retrieve the meals from each day/date and if it is lunch or dinner (when applicable), get their type (meat, fish, soup, etc) while also fetching the related institution (FEUP, FCUP, etc..)
It should be possible to get the location of printers, bathrooms and vending machines in FEUP
Create Docker Containers to host a testable Node.js application, connected to a MongoDB Database, in another container. This should be done using docker-compose
by defining each serivce.
Additionally, it should be possible to run a container that executes the application tests in a controlled environment. Hint: instead of running npm start
in the image, run npm test
instead.
The tests must be done with Mocha + Chai, and should run with npm test
command.
Create a simple test to ensure that they work and serve as a demo for the upcoming tests
One must be able to pass the Running Port of the application as an env variable, being 3000
the DEFAULT_PORT
if none is specified
Configure eslint to be able to lint code
There should exist these endpoints:
GET
meals/<institution>
Return the available meals for that institution
GET
meals/<institution>/week/<week_no>
Return the meals for that institution at the given week of current year
GET
meals/institutions
Return the available institutions
POST
meals
Used to store new meals data (should be protected - not public - and should allow for multiple meals to be added at a time)
clarification for removal in comment below
More endpoints can be added in the future for conveniency
The parsed meals should be stored in the mongo db, to be accessed later from the API.
For a Meal, it should be possible to know the meal title, the type (meal, fish, soup, etc.), the date, if it is at lunch or dinner and where it will be served (i.e. FEUP)
One or more models can be used, for example, it could be useful to get all meals for a specified institution, so there would have to be both an Institution Model and a Meal Model.
When comitting something, the linting must be done, and before a push, the tests must pass aswell.
pre-commit
- lint codepre-push
- lint + testHint: https://www.npmjs.com/package/git-hooks might be useful
It should be possible to get useful info about Unit courses taken from their page in sigarra such as ECTS, regent professor, and grading details.
The Repository Readme must include:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.