Skip to content

razzfox/online-video-editor

Repository files navigation

Running

Run the backend by itself (e.g. on a server) node src/videoAPI.js

Run the React development server npm run react-start

Run them together npm run dev

Run the Electron app in development mode npm start

Build the Electron app (and React app) for production npm build

Update the source code inside the Electron app (faster develepment) npm run update-build

Design

This app uses these modern frameworks/libraries:

  • Express/Node backend for a RESTful API
  • React for a client-side cross-platform frontend
  • Electron to achieve desktop-class app integration

And these principals of the REST architecture:

  • Uniform Interface: resources are accessed in a consistent way and can be modified intuitively to access additional resources.
  • Client-Server model: frontend and backend can evolve separately as long as the interface between them stays the same.
  • Stateless: each request from the client should contain all the information necessary to service the request.
  • Cacheable: immutible resources declare themselves as cachable.
  • Layered System: some resources may exist on a server beyond where the frontend is directly connected, and access to that resource will be transparent, regardless of the layers it went through.
  • Code on Demand: instead of static HTML, the server sends executable code (React JS) that implements client-side features at runtime, opposed to building a single-purpose client for this specific API.

REST stands for Representational State Transfer. It's paradigm is essentially to create a state, represent that as text, then transfer it to another server.

About

generate video clips via an API

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published