2022-11-06 17:39:49 +01:00
|
|
|
---
|
2022-11-19 18:10:35 +01:00
|
|
|
title: FreeSewing Backend
|
2022-11-06 17:39:49 +01:00
|
|
|
---
|
|
|
|
|
2022-11-06 20:16:01 +01:00
|
|
|
The FreeSewing backend handles all user data. Prior to version 3 of FreeSewing,
|
|
|
|
the backend was only used internally as the data store for our frontend, the
|
|
|
|
FreeSewing.org website.
|
|
|
|
|
|
|
|
In version 3, we have rewritten the backend with the explicit goal to offer it
|
|
|
|
as a service to users and developers. This allows integration with other tools
|
|
|
|
such as hosted instances of our lab, CLI tools, serverless runners, CI/CD
|
|
|
|
environments and so on.
|
|
|
|
|
|
|
|
In other words, we no longer merely provide our own frontend, you can now also
|
|
|
|
use our backend as a service to build your own projects.
|
|
|
|
|
2022-11-19 18:10:35 +01:00
|
|
|
## Under the hood
|
2022-11-06 20:16:01 +01:00
|
|
|
|
2022-11-19 18:10:35 +01:00
|
|
|
The FreeSewing backend is written in [NodeJS](https://nodejs.org/en/) on top of
|
|
|
|
[Express](https://expressjs.com/). It uses [Prisma](https://www.prisma.io/) to
|
2022-11-26 18:14:39 +00:00
|
|
|
interface with a [SQLite database](https://www.sqlite.org/) database,
|
2022-11-19 18:10:35 +01:00
|
|
|
[Sanity](https://www.sanity.io/) to store images, [AWS SES](
|
|
|
|
https://aws.amazon.com/ses/) to send out emails, and
|
|
|
|
[pino](https://github.com/pinojs/pino) for logging.
|
2022-11-06 20:16:01 +01:00
|
|
|
|
|
|
|
## Use, don't abuse
|
|
|
|
|
|
|
|
Our backend API runs in a cloud environment and while we do not charge for
|
|
|
|
access to the API, we do need to pay the bills of said cloud provider.
|
|
|
|
|
|
|
|
As such, please be mindful of the amount of requests you generate. And if you
|
|
|
|
have big plans, please reach out to us to discuss them first.
|
|
|
|
|
|
|
|
We will monitor the use of our backend API and we may at any moment decide to
|
|
|
|
revoke API keys if we feel the use is beyond what we can or want to support.
|