Now that you have a working prototype of your project, you are to prepare it for public release:

For the fourth Milestone, your group must accomplish the following tasks:

  1. Prototype: Complete most of the remaining goals you set out for your minimum viable product.

    • Have technical contributions from all group members.

    • Implement a most of the goals or features identified in Milestone 2.

    • Software must be usable by all group members.

  2. End User: Produce packaging and documentation related to end user installation, deployment, and usage of your software.

    • Write a guide for installing and using your software.

    • Publish a blog post that highlights the key features of your software.

    • Utilize command and appropriate software packaging techniques (ie. langugage-specific package managers, Linux package managers, Flatpak, Docker, etc.)

  3. Developer: Setup repository for outside contributions:

    • Write a guide on how to build and contribute to your software.

    • Develop API or architectural documentation related to your codebase.

    • Identify a few "good-first-issue" type issues and post them on your issues board for newcomers to find.

  4. Announcement: Publically announce the availability of your project and describe what it does.

    • Create a short video (2 - 4 minutes) that provides an overview of your project, its goals, its features, and your contributions.

    • Publish a blog post that announces your project (can include the feature highlights and the video mentioned above).

    • Share blog post on Twitter, Reddit, Lobsters, Hacker News, Slack, or wherever you feel comfortable sharing.

Deliverables

For this Milestone, your group must make the public announcement and share the links with the instructor via your project's communcation channel.

After reviewing your announcement, the instructor will meet with each group to discuss their work and the remaining milestone at a future Zoom meeting (TBD).