Introduction
This is the documentation of the Graasp digital education platform targeted at developers.
info
This documentation focuses on Development guides and tutorials (i.e people that write code).
For the end-user documentation, tutorials and reference, please go to the User docs
This documentation focuses on:
- the setup and installation of the platform on your machine
- the guidelines and protocols to participate and contribute in the development of Graasp
- a technical description of the architecture and features of Graasp
Prerequisites
This documentation assumes that you are familiar with the command line. We will guide you and tell you which commands to run, but it is best if you can understand what they will do.
If you need a complete refresher on how to do web development you should have a look at the Odin Project
What you'll need
Here we list the tools that you should have installed in order to make your development work easier.
Required
- A modern browser: Chrome, Firefox or others will work, choose based on your personal preference
- Node.js version 20.0 or above:
- We recommend to use
volta
, a node version manager - You can also use
nvm
, an older node version manager
- We recommend to use
- A code editor: we recommend that you use VSCode because we will be using devcontainers to create our development environment for the backend.
- Docker Desktop: to run containers
Nice to have
- Postman: lets you send API requests with a GUI
- Starship: a utility to improve your terminal prompt (git branch, node version etc...)
Best practices
We use:
- Typescript
- Linters
- Conventional Commits
- Test suits: Cypress and Playwright
- Storybook for component library design, prototyping and documentation
- Semantic versioning