Skip to content

Draft: feat: create a "Vida library"

Marc-AntoineA requested to merge refacto/clean-aktivisda-library into main

Description

The goal of this MR is to create a clean and separated "Aktivisda-library". This library will (1) be documented, (2) use typescript, (3) and tested.

It will allow me to reuse aktivisda with other user interfaces: aktivisda is only one of them.


Todo:

  • Find the name of the new library : aktivisda-libary
  • Make it works in typescript
  • Find how to handle the old "store/library" things: it's used to find images for a given id and it definitely cannot stay in the library. Maybe create a library interface that anyone can implement?
  • Tests
    • Make it work with vitest
    • Create "more than basic" tests for conventional uses, check the results
    • Rework/improve the looksSame function
    • Measure coverage
    • Add CI and publish coverage
    • Add CI and publish junit results
    • Add coverage badge
    • Add some unittestsfor utils
    • Test template_15 is broken (02-08). I think it worked in 6e143448 Only pdf export is broken.
    • Very high coverage (> 90% ?) for all non interactive tests and do not test errors handling yet.
      • Add tests for TextVidaComponent::toPdf
  • Use this library in aktivisda
    • Fix the zoom/unzoom
  • Refacto
    • QRCode
    • Text (and fonts)
    • Png export
    • Jpeg export
    • Template export
    • Pdf export
    • internalsvg
    • internalphoto
    • urlphoto
    • Random options
    • Create new options
  • Documentation
    • "publish" doc into main "aktivisda" doc using typedoc
    • Add docstrings to all functions
  • New feature: emojis
    • Choose template format
    • Add test
    • Documentation (in aktivisda & aktivisda-feat)
    • Wanted feat: rotation, move, export into images (not in pdf)
    • Support emojis in aktivisda
  • New feature: blur
  • Rewrite documentation (in french for now)
    • Warning --> "redirect to french"
    • Aktivisda vs Canva
    • Changelog
    • Roadmap
    • Getting Started / Tutorial
    • Compression "in browser"
  • Bugs
    • Mauvais affichages textes sorties pdf
    • Mauvaises sélections des polices de caractères dans les sorties images des tests (ex. utilisation de la police Raleway au lieu de Roboto pour le test template10). Le problème en lui même semble plutôt être lié à la fonction registerFont de node-canvas. Beaucoup de prototypes, peu fonctionnent bien. Peut-être à traiter avec #233. Très obscure pour moi 😢
    • Distortion déformée en export pdf
    • Exports pdfs de la mauvaise dimension

Nouvelles fonctionnalités

Support des emojis

Spécification : 

  • pouvoir ajouter n’importe quel émoji sur une image, pouvoir le changer, le redimensionner, le faire pivoter et exporter les images.
  • aktivisda: avoir un formulaire pour les ajouter

Hors-scope : export pdf.

Support du floutage

Todo :

  • Problème de la bordure au moment du floutage.

Issues : Resolve #135, Resolve #136,

Checklist before merge :

  • No remaining console.log
  • Version changed for any feature or bugfix
  • Create an entry in changelog
  • english and french translations if required
  • all eslintConfig rules are on ("2") (except no-useless-escape / vue/no-mutating-props)
  • npm run prettier:write done

Tests

  • Aktivisda can be used: start aktivisda and play with it
  • Backtivisda can be used: start backtivisda and play with it
  • If it’s a bug, a new test added
  • If it’s a new feature, a new test added
Edited by Marc-AntoineA

Merge request reports