| Both sides previous revision
Previous revision
|
|
2.0 [2025/10/29 11:45] 20.171.207.2 old revision restored (2025/10/29 11:22) |
2.0 [2025/10/29 13:32] (current) 20.171.207.2 old revision restored (2025/10/29 11:22) |
| |
| |
| An [[https://www.apollographql.com/ |Apollo GraphQL]] server is used in the backend, to provide structured and secure interface to interact with the database. [[https://github.com/typeorm/typeorm/blob/master/docs/active-record-data-mapper.md#what-is-the-data-mapper-pattern |TypeORM]] is the database adapter which connects to the database allowing us to manipulate the tables and data within it; graphql uses the TypeORM adapter in order to access the data. We've not currently chosen a server to serve the backend code to the client, therefore, the project only works locally from development enviroments. | A GraphQL server is used in the backend, to provide structured and secure interface to interact with the database. TypeORM is the database adapter which connects to the database allowing us to manipulated the tables and data within it; graphql uses the TypeORM adapter in order to access the data. We've not currently chosen a server to serve the backend code to the client, therefore, the project only works locally from development enviroments. |
| |
| Our database is implemented in [[https://www.postgresql.org/ |Postgres]], which is a relational database that uses SQL. [[https://www.pgadmin.org/download/ |PGAdmin4]] is a decent tool for exploring the database. | Our database is implemented in Postgres, which is a relational database that uses SQL. |
| |
| ==== Packages ==== | ====Frontend==== |
| |
| === ts-node === | ====Backend==== |
| | |
| | === Packages === |
| | |
| | == ts-node == |
| |
| [[https://www.npmjs.com/package/ts-node |ts-node]] is a typescript execution engine that allows us to write this project as typescript instead of javascript. ts-node is essentially a `source-to-source compiler` / `transpiler`, as it turns one language into another, i.e. typescript into javascript. | [[https://www.npmjs.com/package/ts-node |ts-node]] is a typescript execution engine that allows us to write this project as typescript instead of javascript. ts-node is essentially a `source-to-source compiler` / `transpiler`, as it turns one language into another, i.e. typescript into javascript. |
| |
| === GraphQL (Apollo) === | == GraphQL (Apollo) == |
| |
| We use [[https://www.apollographql.com/ |Apollo GraphQL]] as our implementation of GraphQL. | We use [[https://www.apollographql.com/ |Apollo GraphQL]] as our implementation of GraphQL. |
| ([[https://odyssey.apollographql.com/ |Tutorial here]]) | ([[https://odyssey.apollographql.com/ |Tutorial here]]) |
| |
| === cross-env === | == cross-env == |
| |
| [[https://www.npmjs.com/package/cross-env |cross-env]] is used for setting the environment mode the project is run in, in a OS independant way. It is used in the package.json file. | [[https://www.npmjs.com/package/cross-env |cross-env]] is used for setting the environment mode the project is run in, in a OS independant way. It is used in the package.json file. |
| |
| === blipp === | |
| |
| [[https://www.npmjs.com/package/blipp |blipp]] is a simple hapi plugin to display the routes table to console at startup. | [[https://www.npmjs.com/package/blipp |blipp]] is a simple hapi plugin to display the routes table to console at startup. |