Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Architecture

Layer

Framework

Notes

Current team member knowledge of frameworks

Difficulty of frameworks to learn

How well the framework is documented

Availability / pricing of platforms

React

Front-end

Library

Joshua has minimal. Rest of team has no experience

Free + open source

Boot strap

CSS Framework

Vanilla

Angular

Front-end

Full-framework

Team has no experience

-Quite difficult to learn in comparison to React

-Steep learning curve.

Free + open source

Vue

Front-end

Team has no experience

-Challenging to debug

Free + open source

Ext JS

Team has no experience

Different packages :

Community : Free (for up to 5 developers)

Pro: $1300 per developer.

Enterprise: $1900 per developer

Express

Back-end

Team has no experience

Free + open source

Next.js

Back-end

Team has no experience

Free + open source

NodeJS

Team has no experience

Free + open source

Backend

To integrate with our frontend, we created a backend server using the same systems as our API. From there we set up authentication along with token management. We also later took advantage of it to forward requests to our rendering API as there were issues with CORS on the service.

Method

Name

Description

Parameters

Return values

Exceptions

POST

/auth/login

Logs user into their account and returns a token for their session

{

email: (String)

password: (String)

}

{

token : (String)

}

400 errors:

  • Invalid password or email

POST

/auth/logout

Logs user out of session and disconnects any tokens associated with them.

Header: {

token : (String)

}

{

}

403:

  • Invalid token

POST

/auth/register

Creates new user and returns token for their session. Valid password is min 8 char, contains at least 1 upper case and 1 digit

{

email: (String)

password: (String)

}

{

token : (String)

}

400:

  • Invalid email or password

  • Email already registered

POST

/auth/remove

Deletes user. Also logs users out of any tokens currently associated with them.

Header: {

token : (String)

}

{

}

403:

  • Invalid token

POST

/apiapis/connect

Generates and returns tokens for UBL XML apis. Should logout/delete any existing tokens connected to session.

Header: {

token : (String)

}

{

send_token : (String)

}

403:

  • Invalid token

POST

/apiapis/disconnect

Logout/delete any existing tokens connected to session.

Header: {

token : (String)

}

{

}

403:

  • Invalid token

POST

/apis/forward_render

Connects and forwards requests to rendering API to get around CORS issue on api

Header: {

token : (String)

}

Body: {

xml: (String)

}

HTML (String)

400:

  • Error with rendering

403:

  • Invalid token

POST

/user/data

Updates/sets value of user for XML creation

Header: {

token : (String)

}

Body: {

businessName: (String)

contactName: (String)

electronicMail: (String)

supplierId: (Integer)

street: (String)

postcode: (String)

country: (String)

currency: (String)

}

{

}

403:

  • Invalid token

GET

/user/data

Returns values of user for XML creation

Header: {

token : (String)

}

{

businessName: (String)

contactName: (String)

electronicMail: (String)

supplierId: (Integer)

street: (String)

postcode: (String)

country: (String)

currency: (String)

}

400:

  • No users values have been saved

403:

  • Invalid token