Skip to content

Commit

Permalink
Update README to use only github actions
Browse files Browse the repository at this point in the history
  • Loading branch information
yugeshk committed May 7, 2024
1 parent 328f0fb commit 001d5af
Show file tree
Hide file tree
Showing 15 changed files with 185 additions and 112 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/build_pdf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Build PDF from Markdown
on:
push:
branches:
- change_me
- main

jobs:
build:
Expand Down Expand Up @@ -37,10 +37,10 @@ jobs:
- name: Generate PDF
run: |
swent_prd generate --team <team_number> <folder_name>
swent_prd generate --team 26 template
- name: Upload PDF as artifact
uses: actions/upload-artifact@v3
with:
name: PRD-PDF
path: Team_<number>_prd.pdf
path: Team_26_prd.pdf
121 changes: 12 additions & 109 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,126 +1,29 @@
## Description

This repository contains scripts you will need to generate a PRD template.
This repository contains an outline template for the PRD.
It also contains a sample PRD under `samples/epfl-pocketcampus` for your reference.

>[!NOTE]
>As you may know, the EPFL Pocketcampus app was developed in the first iteration
>of this course.
The folder `template` contains the outline for the PRD to get you started.

>[!IMPORTANT]
> When you begin filling out the various sections, you should remove the
> comments added in italics. They are only there to help start your thinking
> process.
## Using Github Actions

To help you with generating the PDF of your PRD, this repo contains a workflow called `build_pdf.yml`.

To configure the workflow, please change the following lines -

1. Branch name

Configure the workflow to compile the PDF on the `main` branch by changing the line [here](.github/workflows/build_pdf.yml#6).

2. Team Number & Folder Name

> [!NOTE]
> Please read [usage](#usage) to setup the folder beforehand.
Change the `<Team Number>` to your team's number (e.g., 26) and the folder name [here](.github/workflows/build_pdf.yml#40).

3. Artifact Name

Change the `<number>` in the PDF name for the Artifact [here](.github/workflows/build_pdf.yml#46).

## Local Setup

If you wish to compile and view your PRD as a PDF locally, you can follow the instructions below.

## Requirements

1. `python`

You need `python3` installed to run the `prd-scripts` locally. You can find
instructions for installing python
[here](https://realpython.com/installing-python/).

2. `pandoc`

To convert the `markdown` files in this template to a `pdf` you need the
`pandoc` file format convertor installed locally. Instructions to install the
`pandoc` package are available [here](https://pandoc.org/installing.html).

3. `MiKTeX`

You will need a latex compiler to use `pandoc`. You can download that [here](https://miktex.org/download).
1. Team Number

## Setup
Change the `<Team Number>` to your team's number (e.g., 26) [here](.github/workflows/build_pdf.yml#40).

1. Ensure you have python3 on your local machine.
```
python3 --version
```

2. Fork this repo into your organization and clone it
```
git clone [email protected]:<your-org-name>/prd.git
cd prd
```

3. Create a Virtual Enviornment
```
pip3 install virtualenv
python3 -m virtualenv venv
```

4. Activate the Virtual Environment

#### For Linux/OSX

```
source venv/bin/activate
```

#### For Windows

If you are using command prompt, you need to run -
```
path\to\venv\Scripts\activate.bat
```

If you are using PowerShell, you need to run -
```
path\to\venv\Scripts\activate.ps1
```

5. Install the `prd_tools` python app
```
pip install -r requirements.txt
pip install -e .
```

Once you are done using the virtualenv, you can exit it by typing `deactivate`.

## Usage

### Creating a PRD Template

1. Initialize a new PRD template
```
swent_prd init <optional: folder name>
```
If you do not pass a folder name, it will create a default folder called
`sections`.

### Generating the PDF

1. Run the `generate` command
```
swent_prd generate --team <TeamNumber> <folder name>
```

This will create a file called `Team_<Number>_prd.pdf` in the root folder.

>[!IMPORTANT]
> When you begin filling out the various sections, you should remove the
> comments added in italics. They are only there to help start your thinking
> process.
2. Artifact Name

> [!WARNING]
> If you face issues in getting the PRD setup to work, you can also copy this google doc [template](https://docs.google.com/document/d/1Ow0d1C7g_oLMRQQAzc6ivBJLO2s9G5BXmbU7otUmMdY/edit?usp=sharing) and use it to export a PDF and submit the PRD for M3.
Change the `<number>` in the PDF name for the Artifact [here](.github/workflows/build_pdf.yml#46).
4 changes: 4 additions & 0 deletions template/0-heading.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# MVP PRD: Project Name

*[2024.04.20]*

10 changes: 10 additions & 0 deletions template/1-overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Overview

*Maximum: 2 pages*

*What is this project about?*

*Describe succinctly and precisely its purpose.*

*Include a 3-sentence (max) elevator pitch.*

10 changes: 10 additions & 0 deletions template/10-timeline.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Timeline/Resource Planning

*What’s the overall schedule you’re working towards?*

*What resources are required?*

*What are the intermediate milestones?*

*List identified sprints*

6 changes: 6 additions & 0 deletions template/11-monetization.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Business Model

*Expected operating Costs*

*Revenue Streams*

6 changes: 6 additions & 0 deletions template/12-appendix.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Appendix

*This section is optional.*

*Can include mockups, sequence diagrams, etc.*

10 changes: 10 additions & 0 deletions template/2-history.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# History

*Maximum 1 page*

*Describe the V1 POC as planned by Sprint10.*

*What did you learn?*

*What is missing to bridge from PoC to MVP?*

6 changes: 6 additions & 0 deletions template/3-analysis.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Analysis of the Situation

*What are the competing products in the market today?*

*What are the complementary products in the market today?*

10 changes: 10 additions & 0 deletions template/4-value_proposition.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# The Value Proposition

*Describe the value proposition and argue that it is:*

*1. Easy to communicate*

*2. Defensible*

*3. Relevant*

34 changes: 34 additions & 0 deletions template/5-mvp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# The MVP

## Personas and Scenarios

*Who are the target personas for this product?*

*Which is the key persona?*

*High-level scenarios to adopt, use and share the product.*

## User Stories and Key Features

*User stories about how various personas will use the product in context.*

*Identify and prioritise the key features required.*

*Justify the importance of each feature.*

## Success Criteria

*How will you evaluate the success of the MVP?*

*Metrics include user penetration, quality / satisfaction.*

*If applicable, progress in discussions with ecosystem partners / investors / customers.*

## Features Outside the Scope

*The MVP must be viable and minimal.*

*Which features don’t belong in it.*

*How should these be eventually integrated and in what sequence.*

16 changes: 16 additions & 0 deletions template/6-non_functional_requirements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Non-Functional Requirements

## Security, privacy, and data retention policies

*Which are the applicable laws and regulations?*

*What are your internal policies?*

*Which privacy features do you need from the phone?*

## Adoptions, Scalability and Availability

*What kind of traffic patterns do you expect to see?*

*Are there known periods of bursty traffic that the MVP must be designed to support?*

10 changes: 10 additions & 0 deletions template/7-functional_requirements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Functional Requirements

*Max 3 pages.*

*List the key features of the MVP precisely.*

*Include appropriate architectural diagrams.*

*Describe key internal functionality.*

12 changes: 12 additions & 0 deletions template/8-user_analytics.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# User Analytics and Acceptance

*Goal: understand how users are using the app.*

*Which are the key metrics?*

*What is the success criteria?*

*What is the analysis plan (link to data collection)?*

*Include relevant A/B testing ideas.*

36 changes: 36 additions & 0 deletions template/9-design.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Design and Implementation

## Frontend

*List the key libraries, languages, components used by the MVP.*

*If applicable, describe essential screens.*

## Backend

*Decompose the MVP into functional blocks.*

## Data Model

*What data are you collecting / managing?*

*How is it organised?*

*Where is it stored?*

*How is it shared/copied/cached?*

## Security Considerations

## Infrastructure and Deployment

*How is the application developed, tested and deployed?*

*Any special infrastructure requirements.*

## Test Plan

*How is the application developed, tested and deployed?*

*Any special infrastructure requirements.*

0 comments on commit 001d5af

Please sign in to comment.