Coder Social home page Coder Social logo

mzen17 / page-processor Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 1.01 MB

Web-based word processor with a very niche use case of editing single-page natured documents, where page matters.

License: MIT License

Python 36.93% JavaScript 49.06% HTML 13.23% Shell 0.04% CSS 0.74%

page-processor's Introduction

Project

Page Word Processor is a web-based word processor with a very niche use case.

Why?

As per new guidelines for my projects in 2024 all project must provide ample reason for existence.

This project's use case is for creating and managing any document that severely relies on paging. This includes things such as

  • Notes
  • Book pages
  • Blog post pages

What current software exist for such?

  • OneNote
  • Obsidian
  • Word/Docs

Why not use one of the above instead of creating?

  • Most do not think of each page as an individual document, and lack features for pages (e.g, word count per page)
  • Clunky export integration pipeline (no CI/CD to publish to web)
  • Peformance issues on those with individual pages. (not good for >300 pages)
  • Closed-Source Software that may require payment and have a very undocumented extension API.

Current Status

Currently in alpha. There may be security issues, and is not ready for public endpoints.

Unsecure.

  • Createusers endpoint can be spammed to flood database and prevent normal users (needs a rate limit)
  • Bucket and page endpoints can be flooded to waste storage (needs storage cap)
  • Certain APIs may or may not be unsecure. None are documented, because any known would've been fixed, but be aware.

Other problems

  • GUI is not in any good shape.
  • Many skeletons in the API.
  • Documententation of code subpar.
  • Word spelling suggestions are very slow and freeze webpage (currently issue with Typo.js)

Usage Notes

Create a venv, install reqs.txt. Create a .env file, and place tinymce url into it. Then, create a sqlite3 database in the directory called app.db. and run the following command to bring up the webserver:\

uvicorn app.main:app --host 0.0.0.0

Then, navigate to the URL. It does not have a functional GUI to create users, so go to the URL/docs, and use the "Try It" button in the FastAPI docs. The app is now ready, but do note that to delete pages, buckets, or users, you must use SQL and execute it on the app.db.

Toolchain and framework

All new projects must have their toolchain and framework defined before the project starts.

If new tools need to be added during project, they must have a good reason.

  • Python with FastAPI.
  • Database with SQLite/PostgreSQL
  • TinyMCE for frontend editing.
  • Raw HTML on frontend

page-processor's People

Contributors

mzen17 avatar

Watchers

 avatar CMinK avatar

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.