3.0 KiB
Please help me create a scope of work for a software project.
The purpose of the software is to allow many groups to gain insight into software development project, the history of commits & builds, and the tickets used to define the features and bugs. It will also allow the user to view and edit published software packages, select new builds for a package, create release notes, upload the new build's installer to a cloud storage service, and update links on a help center with templated text.
The software will be be modular. The two main portions will be a backend and frontend.
The backend will host a postgresql database, and interface with:
- CruiseControl.NET, reading the logs and caching them in the database. This data will include software projects, branches, commit and build history, and notes.
- Manuscript (fogbugz), reading notes and caching them in the database. This data will include developer comments and timing history.
- Document creation, to make release note PDFs from a software package's manuscript and ccnet notes.
- Upload tool, to upload software packages and release note documents to defined locations in cloud storage.
- HelpCenter Article Updater, to create or modify support portal / help center articles when software packages are published.
- Web server, to serve the web ui
- Database interface, sitting atop postgresql. Perhaps supabase?
The frontend will be a web interface interacting with the Web server component of the backend. The web interface should have several views: - List projects, to show the details of projects tracked by cruisecontrol.net, and letting the user select a project to work within.
- Project details, showing current build status and details, history of cc.net actions and notes
- Project release notes view, including notes from Manuscript for the selected project
- Package list and editor view, showing configurable packages. A software package is a released version of software. The user should be able to give the software package a name, define which cc.net project is associated with it, choose cloud locations to upload to, and define the help center articles to be updated.
- Publish view, to allow the user to select a package for publishing, show the publish details (name, upload location, release notes, help center article, etc...), and execute these actions on the package.
Could you start by creating a scope of work to summarize this in README.md? Could you also include a definition of terms?