Skip to content
This repository has been archived by the owner on Jan 14, 2022. It is now read-only.

DarioTortorici/SpeseFuoriSede

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SpeseFuoriSede

Progetto di ingegneria del software 2021/22

Descrizione

Progetto per Ingegneria del Software 21/22 - Un applicazione per tracciare i propri movimenti finanziari.

Utilizzo App

Server

Per avviare l'applicazione basta recarsi nella cartella "IS2021-22API" ed avviare il server con il comando npm start.

cd \SpeseFuoriSede\IS2021-22API
npm start

Client

Per usufruire lato client dell'app basta semplicemente aprire la pagina index.html con il proprio browser preferito.

Test

Per avviare la fase di testing basta recarsi nella cartella "IS2021-22API" ed eseguire il test con il comando npm test.

cd \SpeseFuoriSede\IS2021-22API
npm test

⚠️ Warning ⚠️ A causa delle chiamate asincrone a MongoDB il risultato dei test non è consistente perché il database decide arbitrariamente quali eseguire prima. Consigliamo pertanto di testare le API con Swagger con gli appositi tasti try it out . Per raggiungere la pagina di Swagger basta avviare il server e recarsi sulla documentazione swagger. Sul proprio terminale:

cd \SpeseFuoriSede\IS2021-22API
npm start

Nel browser:

  http://localhost:49146/api-docs/

Funzionalità

L'applicativo permette di tenere traccia delle proprie transazioni (entrate e spese) e quindi del proprio bilancio finanziario. Inoltre permette la creazione di obiettivi e come una qualsiasi transazione la possibilità di modificarlo o eliminarlo.

Tabella API Reference

Get Bilancio

  GET /balance
Parameter Type Description
null float Restituisce il bilancio

Get Categoria

  GET /categoria
Parameter Type Description
null json Restituisce le categorie di sistema

Get Transazioni

  GET /transactions
Parameter Type Description
null json Restituisce le transazioni

Get Transazione da id

  GET /transaction/${id}
Parameter Type Description
id string Richiesto. Id della transazione

Post entrata

  POST /entrate
Parameter Type Description
Amount float Richiesto. Cifra entrata
Description string Richiesto. Descrizione dell'entrata
Date date Richiesto. Data della transazione
Category string Richiesto. Categoria entrata
Recurrency integer Richiesto. Giorni di ricorrenza per entrata periodica Facoltativo il cambio del campo precompilato a 0

Post spesa

  POST /spese
Parameter Type Description
Amount float Richiesto. Cifra spesa
Description string Richiesto. Descrizione della spesa
Date date Richiesto. Data della transazione
Category string Richiesto. Categoria spesa
Recurrency integer Richiesto. Giorni di ricorrenza per spesa periodica Facoltativo il cambio del campo precompilato a 0

Modifica Transazione da id

  PUT /modify/transactions/${id}/${newAmount}/${newDescription}/${newDate}/${newCategory}/${newRecurrency}
Parameter Type Description
id string Richiesto. Id della transazione
newAmount float Richiesto. Facoltativo il cambio del campo precompilato
newDescription string Richiesto. Facoltativo il cambio del campo precompilato
newDate date Richiesto. Facoltativo il cambio del campo precompilato
newCategory string Richiesto. Facoltativo il cambio del campo precompilato
newRecurrency integer Richiesto. Facoltativo il cambio del campo precompilato

Delete Transazione/Obiettivo da id

  DELETE /delete/${id}
Parameter Type Description
id string Richiesto. Id della transazione/obiettivo

Get Obiettivi

  GET /goals
Parameter Type Description
null json Restituisce gli obiettivi

Get Obiettivo da id

  GET /goal/${id}
Parameter Type Description
id string Richiesto. Id dell'obiettivo

Post obiettivo

  POST /goal
Parameter Type Description
Amount float Richiesto. Cifra da raggiungere
Description string Richiesto. Descrizione dell'obiettivo
Date date Richiesto. Data di scadenza obiettivo

Modifica Obiettivo da id

  PUT /modify/goal/${id}/${newAmount}/${newDescription}/${newDate}/
Parameter Type Description
id string Richiesto. Id della transazione
newAmount float Richiesto. Facoltativo il cambio del campo precompilato
newDescription string Richiesto. Facoltativo il cambio del campo precompilato
newDate date Richiesto. Facoltativo il cambio del campo precompilato

Linguaggi e Tools usati per lo sviluppo

Front-End

  • HTML5 html5
  • CSS3 css3
  • Bootstrap 5 bootstrap

Back-End

  • NodeJS nodejs

Linguaggi

  • JavaScript javascript

Database

  • MongoDB mongodb

API testing

  • Postman postman

Autori

About

Progetto di Ingengeria del Software 2021/22

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published