Skip to content

devlzl/Present

Repository files navigation

Present

Introduction

Present is a web-based presentation application.

Try Present online

It's only been a month since the first line of code was written, and follow-up features are still being developed.

Through this project, I want to not only improve my technical skills, but also make a presentation application that works better than powerpoint online. I implemented this project from scratch, and no functionality was done with third-party libraries. Although the interface is built on Vue.js, the core logic and state management is almost framework-agnostic.

Current Features

  • Creating, Switching, Modifying, and Showing Slides.
  • Elements
    • TextBox
    • Picture
    • Table
    • Shapes
    • Canvas and Pen
    • 3D WordArt
  • Selection and Adjustment(Resize, Position, Orientation) of Slide elements
  • Animation

Technology infrastructure

  • Block-based data structure and page structure
  • Hierarchical, traceable, event-based unidirectional data flow
  • Data-driven rich text editor engine
    • Customizable text styles
    • Event management
    • Selection management
    • History management (undo/redo)
    • Clipboard
    • Cross-browser compatibility