shiryel / fatex

Fatex is a symple visual wrapper of the Latex, creating beautiful texts without all the complexity of the Latex

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fatex

tests license

Fatex is a symple visual wrapper of the Latex, creating beautiful texts without all the complexity of the Latex.

Modules

LiveView:

  • Home -> Screen were the user create/delete/select the projects
  • Model -> Screen to do the Fatex work, controls the Menu, Step, Section and Render modules
  • ModelList -> Screen to create new Models based on other Models (defined in the database [seeds] as templates)
  • Step -> Top menu to choose the step to work
  • Menu -> Lateral menu to add images and sub-sections
  • Section -> Sections of a Step
  • Render -> To render the PDF (gen a id to re-render)

Controllers:

  • LoginController -> Screen for user login
  • UserController -> Screens to create and update users
  • ModelShareController -> Screen to share models to other users
  • Auth -> User authentication PLUG (used on routers)
  • FileController -> To send the rendered PDF to the client

Some modules of the LiveView use the pubsub to update state in another LiveView modules (but need some fixes)

To Run

Dependencies:

  • TexLive (complete)
  • Docker (for postgres)

To start the server:

  • sudo docker-compose up -d
  • Install dependencies with mix deps.get
  • Create and migrate your database with mix ecto.setup
  • Install Node.js dependencies with cd assets && npm install
  • Start Phoenix endpoint with mix phx.server

Now you can visit localhost:4000/login/new from your browser.

TODO

  • Image Upload (upload on maker per user)
  • Make the PubSub per user
  • Fix bug when you click into the topic and the screen go up
  • Fix share between users

About

Fatex is a symple visual wrapper of the Latex, creating beautiful texts without all the complexity of the Latex

License:Apache License 2.0


Languages

Language:Elixir 63.8%Language:TeX 27.0%Language:CSS 4.3%Language:JavaScript 2.7%Language:HTML 2.3%