-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Core:
- Add some sort of secrets store
- Add GitHub OAuth sign in (I aint dealing with passwords)
- Write documentation
- Have download page give a link to the latest GitHub release as well as install instructions (put it in your path)
- Package upload stuff (See below)
- Database stuff (See below)
Database:
- Table to keep track of GitHub usernames and user IDs (As a cache to avoid mass API queries)
- Table to keep track of packages (ID, name, description, owner, creation_date)
- Table to keep track of package versions (ID, package_id [FK], release notes, version number, download count, release_date, byond version)
- All of this needs to be managed by EntityFramework. No exceptions.
Package creation:
- Restrict names to alphanumeric, no spaces, all lowercase
- Short package description
- Package URL stuff (Documentation + Source), both optional
- Redirect to the package page on completion
- Package page need an edit button
Release creation:
- Accept version as semver
- Accept package upload in zip format
- Documentation dictates how a zip must be laid out (There must be a
dmpm_includes.dmin the top directory with the required DM file includes inside) -
Maybe some sort of validation to see if the code compiles. Package should be independent. I could make a test env that grabs the BYOND version the package wants, and compilesCan be done laterdmpm_includes.dm - Obviously, make it so you can only upload to packages you own
- Cap uploads to 5mb
- Store packages in the ASP app
app_data -
App_Data/Packages/Package_Id/Version_Id.zip--> GET/download/packagenames/version - Flow will be create package --> create version
- Package data format
- Validate that the package has an
includes.dmfile inside it (ZipFile.files)
package_root:
|
|--- includes.dm
| |___ in here is your #include statements for stuff in `code`
|
|--- code
|___ in here is your code that changes with each release
Pages - Dynamic:
- List all packages with search and paging
- List packages belonging to one user
- List releases and info for a package
- Package creation page (see above)
- Release upload page (see above)
Pages - Static:
- Install page
- Client Documentation page
- Package Documentation page
Package download:
- Get latest version by max ID in the releases table where the package ID corresponds properly.
Other:
- CI for the repo
- Readme for the repo
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels