Une base de connaissances rapide et collaborative pour votre équipe, construite à l'aide de React et Node.js.
Essayez Outline en utilisant notre version hébergée sur www.getoutline.com.
Il s'agit du code source qui exécute Outline et tous les services associés. Si vous souhaitez utiliser Outline, vous n'avez pas besoin d'exécuter ce code, nous proposons une version hébergée de l'application sur getoutline.com. Vous pouvez également trouver de la documentation sur l’utilisation d’Outline dans notre guide.
Si vous souhaitez exécuter votre propre copie d'Outline ou contribuer au développement, cet endroit est fait pour vous.
Veuillez consulter la documentation pour exécuter votre propre copie d'Outline dans une configuration de production.
Si vous avez des questions ou des améliorations concernant la documentation, veuillez créer un fil de discussion dans les discussions GitHub.
Il existe un petit guide pour configurer un environnement de développement si vous souhaitez apporter des modifications, des correctifs et des améliorations à Outline.
Outline est construit et maintenu par une petite équipe – nous aimerions votre aide pour corriger les bugs et ajouter des fonctionnalités !
Avant de soumettre une pull request, veuillez en discuter avec l'équipe principale en créant ou en commentant un numéro sur GitHub – nous aimerions également avoir de vos nouvelles dans les discussions. De cette façon, nous pouvons garantir qu’une approche est convenue avant l’écriture du code. Cela entraînera une probabilité beaucoup plus élevée que votre code soit accepté.
Si vous cherchez des moyens de commencer, voici une liste de façons de nous aider à améliorer Outline :
good first issue
Si vous souhaitez contribuer ou en savoir plus sur la base de code Outline, veuillez d'abord vous référer au document d'architecture pour un aperçu général de la façon dont l'application est conçue.
En développement, Outline génère une journalisation simple sur la console, préfixée par catégories. En production, il génère des journaux JSON, ceux-ci peuvent être facilement analysés par votre pipeline d'ingestion de journaux préféré.
La journalisation HTTP est désactivée par défaut, mais peut être activée en définissant la variable d'environnement DEBUG=http
.
Nous visons à avoir une couverture de tests suffisante pour les parties critiques de l’application et ne visons pas une couverture de tests unitaires à 100 %. Tous les points de terminaison de l'API et tout ce qui concerne l'authentification doivent être minutieusement testés.
Pour ajouter de nouveaux tests, écrivez vos tests avec Jest et ajoutez un fichier avec l'extension .test.js
à côté du code testé.
# To run all tests
make test
# To run backend tests in watch mode
make watch
Une fois la base de données de test créée avec make test
vous pouvez exécuter individuellement directement des tests frontend et backend.
# To run backend tests
yarn test:server
# To run a specific backend test
yarn test:server myTestFile
# To run frontend tests
yarn test:app
Sequelize est utilisé pour créer et exécuter des migrations, par exemple :
yarn sequelize migration:generate --name my-migration
yarn sequelize db:migrate
Ou pour exécuter des migrations sur la base de données de test :
yarn sequelize db:migrate --env test
Outline est sous licence BSL 1.1.