FreeSewing v2 and up are maintained in the backend repository.
Freesewing is an online platform to draft sewing patterns based on your measurements.
This is the data repository, which holds the source code for our data API.
For all info on what freesewing does/is/provides, please check the about page or documentation.
Data is freesewing's data backend.
Our website, freesewing.org, uses a JAMstack architecture.
JAMstack is a modern web development architecture based on client-side JavaScript, reusable APIs, and prebuilt Markup.
What that means is that our site is statically generated HTML. That's great for documetation and so on, but when you want it to do useful stuff (like drafting sewing patterns), you need an API to talk to with JavaScript.
This repository holds the API for all user data. It handles things like authentication, user details, models, and pattern data. It essentially does everything except generating patterns. That is handled by our core API.
This data API is written in PHP on top of the Slim framework. It uses JSON web tokens with slim-jwt-auth as authentication middleware.
To run your own instance of this API, you'll need:
- PHP 5.6 or above (we recommend PHP 7)
- composer
- A database (we use MySql/MariaDb)
Full install instructions are available at freesewing.org/docs/data/install but here's the gist of it:
git clone git@github.com:freesewing/data.git
cd data
composer install
composer dump-autoload -o
This code is licensed GPL-3, the pattern drafts, documentation, and other content are licensed CC-BY.
Your pull request are welcome here.
If you're interested in contributing, I'd love your help. That's exactly why I made this thing open source in the first place.
Read freesewing.org/contribute to get started. If you have any questions, the best place to ask is the freesewing community on Gitter.