Files
inputloop/README.md

56 lines
3.3 KiB
Markdown
Raw Normal View History

# Table of Contents
1. [Development Log](#org3e76e00)
INPUTLOOP.COM - internet service bus
Assertion based stream and transactional data federation toolkit.
Initial TODO:
- [X] Start detailed project planning (this file)
- [X] Make a git repository for the project
- [ ] Start the homepage
- [ ] Add authorized users area to website
- [ ] write webservice access control configuration
- [ ] create seed password file and set permissions
- [ ] create authorized user landing page
- [ ] add login form to homepage
- [ ] configure feil2ban to guard login form and protected resources
- [-] Add simple file upload
- [X] install CGI::Upload
- [ ] create file upload CGI program in Perl
- [ ] accept/require the following multi-part form-data:
- file-stream (0bytes .. 1.2GB limit)
- filename (required, generate if none, don't error unless stream is also zero bytes)
- title (text field, optional, becomes commit short description)
- description (textarea, optional, becomes commit message body)
- overwrite (optional, checkbox; when form passes a truthy value overwrite, otherwise error)
- files are placed in users home directories into ~/Uploads which is a symlink to /srv/git/<username>/Uploads
- upon first use by user, create this directory structure and initialize git within the upload folder
- git commit upon successfully writing the uploaded file to disc
- [ ] install within protected site area
- [ ] add file browser for Upload area (CGIT probably, but web server allow-indexing might be fine)
- [ ] create system users and groups, configure rsync
- [ ] Add system users/keys for alpha users/testers
- [ ] Add user settings to website
- [ ] Add user sync settings to website
- [ ] Add live-cast to website
- [ ] audio
- [ ] video
- [ ] Add live-editor page to website
- [ ] audio
- [ ] video
- [ ] Create projects area (ability for users to create system groups and for the various tools to save/load/use them)
- [ ] Add user privacy flag and ability to browse non-private users, add them to projects, and share uploaded files and open mixes or active streams with them
- [ ] Add ability for users to generate share-with-me links so private users can invite specific people to share directly with them
<a id="org3e76e00"></a>
# Development Log
`2025-05-16` bought this domain several years back to host a javscript based audio editor I made; I was thinking of making it edit video, sync audio with video, etc. tedious chores which, like clipping big audio files into little ones and annotating them with meta-data, is more fun when several people work together on a given project. Recently, other projects have necessitated additional tooling for arbitrary ad-hoc data-sharing between peers. Things like file sharing on the go or throwing a hunk of audio from one person another in near-real-time have been coming up a lot so it seemed to make sense to re purpose this project somewhat more generally, so it can serve as a "big tent" for working on these problems. Created an initial repo for sources for this on my gitea instance.