Coder Social home page Coder Social logo

wildcn / flowchart-fun Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tone-row/flowchart-fun

0.0 0.0 0.0 9.15 MB

Easily generate flowcharts and diagrams from text ⿻

Home Page: https://flowchart.fun/

License: MIT License

Shell 0.08% JavaScript 14.52% TypeScript 68.69% CSS 12.27% HTML 0.67% Astro 3.77%

flowchart-fun's Introduction

A webapp for generating flowcharts from text @ https://flowchart.fun

screenshot of Flowchart Fun

Summary

Flowchart Fun is a webapp for generating flowcharts from text built with React and cytoscape.js.

Example

Node A
  goes to: Node B
  and: Node C
    goes back to: (Node A)

example flowchart

Development

Prerequisites

Premium features including auth, hosted charts and permalinks are built using integrations with Vercel Functions, Supabase, Stripe and Sendgrid so you will need accounts with each of those services.

Getting Started

  1. Clone the repository
  2. Copy .env.example to .env and add env variables
  3. pnpm install and vercel dev

To run with login features:

vercel dev

To run without login features:

pnpm dev

Translations

Flowchart Fun uses Lingui for translations. These are the steps to follow:

  1. All text that should be translated should be wrapped in <Trans> component or t` template string. These are imported from @lingui/macro.
  2. Strings are extracted with pnpm -F app extract. Then translations can be added to .po files in /app/src/locales/[language]/messages.po
  3. When all translations are added, run pnpm -F app compile.

Tests

Unit Tests

  • You can run jest tests with pnpm test

E2E Tests

We use playwright for e2e tests. Playwright is always installed on the system so you need to globally install it at the correct version: 1.27.1. You can find the version in the github e2e workflow file.

  1. Make sure playwright version 1.27.1 is installed globally
  2. Start the app with vercel dev and then run pnpm -F app e2e

Analyze the Bundle

pnpm -F app build && pnpm -F app analyze

Release

  1. Branch from dev to develop a feature
  2. Squash and merge the feature branch into dev
  3. (Repeat until happy)
  4. Update version in /app/package.json and commit directly to dev. Push.
  5. Open PR from dev to main
  6. Merge (do not squash!) PR and a new github release will be created

Contributing

We always welcome contributions! Before opening a pull request with a new feature, consider opening an issue or discussion to gauge support and/or confirm your implementation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.