Skip to content

Latest commit

 

History

History
193 lines (127 loc) · 4.32 KB

README.md

File metadata and controls

193 lines (127 loc) · 4.32 KB

IntelliQ

A project for the Software Engineering course at Ece Ntua 2022-23, in which we implement a smart questionnaire software Rest API and web interface with basic functionalities.

Contributors

Tech Stack

Programming Languages: Javascript

Backend Development: NodeJS, ExpressJS

Frontend Development: ReactJS

Database: MongoDB

Installation

Clone the project

  git clone https://github.com/apostolos-k/ntua-softeng-project.git

Go to the project directory

  cd ntua-softeng-project

Install backend dependencies

  cd api-backend
  npm install

Install frontend dependencies

  cd ../frontend
  npm install

Run Locally

Go to the project directory

  cd ntua-softeng-project

Start backend server (https://localhost:9103)

  cd api-backend
  npm start

Start frontend server (http://localhost:3000) on a new terminal window

  cd frontend
  npm start

Running Tests

To run tests, run the following commands

  cd api-backend
  npm test

Administartion Endpoints

End-to-end connectivity check

  GET /admin/healthcheck

Upload questionnaire to database

  POST /admin/questionnaire_upd

Reset everything in database (questionnaires, answers)

  POST /admin/resetall

Reset answers of a specific questionnaire

  POST /admin/resetq/:questionnaireID
Parameter Type Description
questionnaireID string Required. ID of questionnaire

Operational Endpoints

View a questionnaire

  GET /questionnaire/:questionnaireID
Parameter Type Description
questionnaireID string Required. ID of questionnaire

View a question

  GET /question/:questionnaireID/questionID
Parameter Type Description
questionnaireID string Required. ID of questionnaire
questionID string Required. ID of question

Submit an answer

  POST /doanswer/:questionnaireID/:questionID/:session/:optionID
Parameter Type Description
questionnaireID string Required. ID of questionnaire
questionID string Required. ID of question
session string Required. User identifier
optionID string Required. ID of answer option

View answers by a session

  GET /getsessionanswers/:questionnaireID/:session
Parameter Type Description
questionnaireID string Required. ID of questionnaire
session string Required. User identifier

View answers by a question

  GET /getsessionanswers/:questionnaireID/:questionID
Parameter Type Description
questionnaireID string Required. ID of questionnaire
questionID string Required. ID of question

Use case: export answers to CSV or JSON

  GET /exportanswers/:questionnaireID
Parameter Type Description
questionnaireID string Required. ID of questionnaire

Tools Used

Info

More information about specific project sections can be found at their README.md located in each folder.