Git Product home page Git Product logo

amos2022ws01-firmware-scraper's Introduction

Firmware Scraper (AMOS SS 2022)

Pytest Suite

Logo of the project Logo of the project

TLDR;

This Selenium-based firmware scraper gathers firmware data from 18 vendors. Our automated solution scrapes metadata and downloads corresponding firmwares. The results can be used for InfoSec research.

Installation

Option 1: On your local machine (Ubuntu only)

git clone https://github.com/amosproj/amos2022ws01-firmware-scraper
# or download and unpack .zip amos2022ws01-firmware-scraper
cd amos2022ws01-firmware-scraper
./install.sh
source .venv/bin/activate

# Make sure MySQL server is running
sudo systemctl start mysql.service

export MYSQL_USER=<your username>
export MYSQL_PASSWORD=<your password>
export LOG_LEVEL=DEBUG

# Start the scraper:
python -m src.core

Option 2: Docker

Requirements: Docker should be installed on your machine.

git clone https://github.com/amosproj/amos2022ws01-firmware-scraper
#or download and unpack .zip amos2022ws01-firmware-scraper
cd amos2022ws01-firmware-scraper
docker-compose up --build

amos2022ws01-firmware-scraper's People

Contributors

a-sandrini avatar deepakraj8055 avatar dirkriehle avatar elgustov avatar iceflovver avatar kirilzilla avatar leshl avatar oliver99str avatar scherzgefaess avatar steezye avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

amos2022ws01-firmware-scraper's Issues

test 2

User story

  1. As a {}
  2. I want / need {}
  3. So that {}

Acceptance criteria

  • Criterion 1
  • Criterion 2
  • ...

Definition of done (DoD)

  • Added only after week 5
  • The same for all features
  • Here goes the project specific part

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Implement tools for code check

User story

  1. As a developer
  2. When i commit code to github
  3. Then i Want the code to run through code checking

Acceptance criteria

  • Ex. pytest flake8 black isort (optioal : safety bandit) are passed
  • If tests are unsuccessfull the developer is responsible to correct and commit the correct one

Definition of done (DoD)

  • All the acceptance criteria have been met
  • The code has been merged with the main one
  • The documentation and Bill of Materials have been updated
  • The code is complete and uploaded in GitHub
  • Functionality has been reviewed

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Create MySQL database

User story

  1. As a user
  2. I need a MySQL database to be set up
  3. So that entries can be later added to it

Acceptance criteria

  • A MySQL database exists

Definition of done (DoD)

  • Added only after week 5
  • The same for all features
  • Here goes the project specific part

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Finding download URL

User story

  1. As a user after typing in the vendor's URI
  2. I want the software to search for the download link
  3. So that the firmware can be downloaded

Acceptance criteria

  • Message of correct execution after having correctly downloaded the firmware
  • Error message in case the link isn't found

Definition of done (DoD)

  • Added only after week 5
  • The same for all features
  • Here goes the project specific part

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Decide on test suite and implement (pytest vs unittest)

User story

  1. As a developer

  2. When i commit code to github

  3. Then i Want the code to be tested by the test suite

  4. As a user

  5. When i use the amos firmware scraper

  6. Then i Want the software to be tested

Acceptance criteria

  • Common test suite is agreed between developers
  • Demo a test with 100% passing

Definition of done (DoD)

  • All the acceptance criteria have been met
  • The code has been merged with the main one
  • The documentation and Bill of Materials have been updated
  • The code is complete and uploaded in GitHub
  • Functionality has been reviewed
  • The tests to ensure the feature is working have been created

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Analyzing and drafting Cisco module

User story

  1. As a user after having chosen Cisco product
  2. I want the software to search the website
  3. So that the download can be initiated

Acceptance criteria

  • There is a draft of Cisco module
  • The Cisco firmware can be downloaded
  • The metadata is mapped correctly to the MySQL schema

Definition of done (DoD)

  • All the acceptance criteria have been met
  • The code has been merged with the main one
  • The documentation and Bill of Materials have been updated
  • The code is complete and uploaded in GitHub
  • Functionality has been reviewed

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Dockerise the application

User story

  1. As a user
  2. I want the code to include the docker file
  3. So that the application can strat in the docker container

Acceptance criteria

  • Docker container starts and execute automatically
  • Initiliases mySQL Database
  • Fullfills all software dependencies
  • Handles the download path
  • Exports all environment variable (python path, MySQL username)

Definition of done (DoD)

  • All the acceptance criteria have been met
  • The code has been merged with the main one
  • The documentation and Bill of Materials have been updated
  • The code is complete and uploaded in GitHub
  • Functionality has been reviewed

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Zyxel scraping module integration with core

User story

  1. As a user of the software
  2. I need the Zyxel specific module to be integrated into the core
  3. So that the firmware from that vendor can be downloaded

Acceptance criteria

  • There is an Zyxel specific module integrated into the core
  • The firmware from Zyxel can be downloaded
  • And the meta data can be mapped and written into the database

Definition of done (DoD)

  • All the acceptance criteria have been met
  • The code has been merged with the main one
  • The documentation and Bill of Materials have been updated
  • The code is complete and uploaded in GitHub
  • Functionality has been reviewed

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Schneider scraping module integration with core

User story

  1. As a user of the software
  2. I need the Schneider specific module to be integrated into the core
  3. So that the firmware from that vendor can be downloaded

Acceptance criteria

  • There is a Schneider specific module integrated into the core
  • The firmware from Schneider can be downloaded
  • The mata data is mapped to the MySQL schema

Definition of done (DoD)

  • All the acceptance criteria have been met
  • The code has been merged with the main one
  • The documentation and Bill of Materials have been updated
  • The code is complete and uploaded in GitHub
  • Functionality has been reviewed
  • The tests to ensure the feature is working have been created

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Download firmware - random vendor

User story

  1. As a user after having chosen random vendor's product
  2. I want the software to search the website
  3. So that the download can be initiated

Acceptance criteria

  • Correct firmware is downloaded

Definition of done (DoD)

  • Added only after week 5
  • The same for all features
  • Here goes the project specific part

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Making changes to the database

User story

  1. As a user
  2. I want to be able to delete and overwrite data in the database
  3. So that it has updated information

Acceptance criteria

  • it is possible to check whether the data about specific firmware is already in the database
  • the data can be deleted from the database
  • the data can be changed in the database

Definition of done (DoD)

  • All the acceptance criteria have been met
  • The code has been merged with the main one
  • The documentation and Bill of Materials have been updated
  • The code is complete and uploaded in GitHub
  • Functionality has been reviewed

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Scheduler - json configuration file

User story

  1. As a user
  2. I want to be able to setup a json configuration file
  3. So that the polling interval for each of the vendor can be added and later when script is running - scheduled.

Acceptance criteria

  • It is possible to add and edit the json configuration file
  • For each vendor the scheduled time is saved correctly
  • The firmware is downloaded after earlier specified time

Definition of done (DoD)

  • All the acceptance criteria have been met
  • The code has been merged with the main one
  • The documentation and Bill of Materials have been updated
  • The code is complete and uploaded in GitHub
  • Functionality has been reviewed
  • The tests to ensure the feature is working have been created

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Test Feature Request

User story

  1. As a {}
  2. I want / need {}
  3. So that {}

Acceptance criteria

  • Criterion 1
  • Criterion 2
  • ...

Definition of done (DoD)

  • Added only after week 5
  • The same for all features
  • Here goes the project specific part

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Template vendor modules structure

User story

  1. As a user
  2. I need the vendor modules to have a template structure
  3. So that all the implemented modules are written in similar format

Acceptance criteria

  • There is a common structure for vendor modules
  • The structure has a dedicated space for logging in
  • The structure has a dedicated space for accessing the main page
  • The structure has a dedicated space for looping over the products
  • The structure has a dedicated space for accessing the product pages
  • The structure has a dedicated space for extracting meta data
  • The structure has a dedicated space for downloading meta data
  • The structure has a dedicated space for mapping meta data

Definition of done (DoD)

  • All the acceptance criteria have been met
  • The code has been merged with the main one
  • The documentation and Bill of Materials have been updated
  • The code is complete and uploaded in GitHub
  • Functionality has been reviewed
  • The tests to ensure the feature is working have been created

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

AVM scraping module integration with core

User story

  1. As a user of the software
  2. I need the AVM specific module to be integrated into the core
  3. So that the firmware from that vendor can be downloaded

Acceptance criteria

  • Mapping and writing to database

Definition of done (DoD)

  • All the acceptance criteria have been met
  • The code has been merged with the main one
  • The documentation and Bill of Materials have been updated
  • The code is complete and uploaded in GitHub
  • Functionality has been reviewed
  • The tests to ensure the feature is working have been created

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Scheduler

User story

  1. As a user
  2. I want to be able to type in the time interval
  3. So that the software will start the action at the set time point

Acceptance criteria

  • it is possible to input time
  • the software runs at the set time period

Definition of done (DoD)

  • Added only after week 5
  • The same for all features
  • Here goes the project specific part

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Asus scraping module integration with core

User story

  1. As a user of the software
  2. I need the Asus specific module to be integrated into the core
  3. So that the firmware from that vendor can be downloaded

Acceptance criteria

  • There is an Asus specific module integrated into the core
  • The firmware from Asus can be downloaded

Definition of done (DoD)

  • All the acceptance criteria have been met
  • The code has been merged with the main one
  • The documentation and Bill of Materials have been updated
  • The code is complete and uploaded in GitHub
  • Functionality has been reviewed
  • The tests to ensure the feature is working have been created

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Logger module should be integrated in the core

User story

  1. As a user
  2. when i access the firmware scraper
  3. The Core should contain the logger module

Acceptance criteria

  • Core should contain the logger module
  • Logger module gets passed to the core funtions (ex download firmware, get product catalogs etc)

Definition of done (DoD)

  • All the acceptance criteria have been met
  • The code has been merged with the main one
  • The documentation and Bill of Materials have been updated
  • The code is complete and uploaded in GitHub
  • Functionality has been reviewed
  • The tests to ensure the feature is working have been created

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Mapping the downloaded vendor meta data to the mySQL schema

User story

  1. As a user
  2. I want the the downloaded vendor specific meta data to be mapped into the mySQL schema
  3. So that we have a all vendor information in a common structure

Acceptance criteria

  • Downloaded vendor meta data should be mapped into the schema

Definition of done (DoD)

  • All the acceptance criteria have been met
  • The code has been merged with the main one
  • The documentation and Bill of Materials have been updated
  • The code is complete and uploaded in GitHub
  • Functionality has been reviewed
  • The tests to ensure the feature is working have been created

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Honeypot traps avoider

User story

  1. As a user
  2. I want the software to have honeypot traps avoider part
  3. So that the human like behaviour can be imitated (through random delays, random view time) in order to not beeing detected by the vendor's scraper detection logic.

Acceptance criteria

  • There is a honeypot avoider part of code

Definition of done (DoD)

  • All the acceptance criteria have been met
  • The code has been merged with the main one
  • The documentation and Bill of Materials have been updated
  • The code is complete and uploaded in GitHub
  • Functionality has been reviewed

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Logging module

User story

  1. As a user of the software
  2. I want it to check if logging in is necessary in order to download firmware and if the logging credentials are already available
  3. So that the firmware can be downloaded

Acceptance criteria

  • it is possible to determine whether logging in is necessary for downloading firmware
  • the software can check whether credentials for logging in already exist in the database
  • the software is able to download the firmware that requires logging in
  • in case there are no credentials the software sends a message to the user

Definition of done (DoD)

  • Added only after week 5
  • The same for all features
  • Here goes the project specific part

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Create a basic schema for MySQL Database

User story

  1. As a user when i am using the amos firmware scraper
  2. I want the output must have the following mandatory fields/attributes:
  • Manufacturer (e.g., Siemens, D-Link, AVM, ABB, ...)
  • Model/Name (e.g., S7-1500, DIR300, Scalance-X, ...)
  • Version (e.g., 1.2.3)
  • Type (e.g., Router, Switch, Firewall, PLC, ...)
  • Release Date (if available)
  • Checksum (sha512)
  • EMBA tested (yes/no)
  • EMBA link to report (filesystem)
  • EMBArk link to report (http://...)
  • Firmware download link (vendor link)
  • Firmware filesystem link (to find it on the filesystem)
  1. So that we have a standardised template

Acceptance criteria

  • All the above mentioned fields/attributes must be visible in the output

Definition of done (DoD)

  • Added only after week 5
  • The same for all features
  • Here goes the project specific part

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Download firmware - Zyxel

User story

  1. As a user after having chosen Zyxel product
  2. I want the software to search the website
  3. So that the download can be initiated

Acceptance criteria

  • Correct firmware is downloaded

Definition of done (DoD)

  • Added only after week 5
  • The same for all features
  • Here goes the project specific part

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Synology scraping module integration with core

User story

  1. As a user of the software
  2. I need the Synology specific module to be integrated into the core
  3. So that the firmware from that vendor can be downloaded

Acceptance criteria

  • There is a Synology specific module integrated into the core
  • The firmware from Synology can be downloaded
  • The mata data is mapped to the MySQL schema

Definition of done (DoD)

  • All the acceptance criteria have been met
  • The code has been merged with the main one
  • The documentation and Bill of Materials have been updated
  • The code is complete and uploaded in GitHub
  • Functionality has been reviewed
  • The tests to ensure the feature is working have been created

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Download Firmware - Schneider

User story

  1. As a user after having chosen Schneider product
  2. I want the software to search the website
  3. So that the download can be initiated

Acceptance criteria

  • Correct firmware is downloaded

Definition of done (DoD)

  • Added only after week 5
  • The same for all features
  • Here goes the project specific part

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Saving Metadata to the MySQL

User story

  1. As a user after having found the firmware on vendor's website
  2. I want the software to download the metadata and save it to MySQL database
  3. So that it can be stored in the database

Acceptance criteria

  • it is possible to give an input string to the program
  • data is saved in the database
  • the program returns successful execution or error message

Definition of done (DoD)

  • Added only after week 5
  • The same for all features
  • Here goes the project specific part

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Download firmware - NOZ

User story

  1. As a user after having chosen NOZ product
  2. I want the software to search the website
  3. So that the download can be initiated

Acceptance criteria

  • Correct firmware is downloaded

Definition of done (DoD)

  • Added only after week 5
  • The same for all features
  • Here goes the project specific part

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Basic core structure to be developed allowing future merging of code

User story

  1. As a user when i am using the amos firmware scraper
  2. I want the code to have a common decided structure that include:
  • Main file
  • Schedule file
  • Directories for the vendor modules
  • Logging module
  1. So that it allows merging of future codes

Acceptance criteria

  • Core structure matches as per the decided structure and includes the above

Definition of done (DoD)

  • Added only after week 5
  • The same for all features
  • Here goes the project specific part

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Logger - concept

User story

  1. As a user of the software
  2. I need to have the basic logger
  3. So that it can be later called by other parts of the code

Acceptance criteria

  • There is a logger module

Definition of done (DoD)

  • All the acceptance criteria have been met
  • The code has been merged with the main one
  • The documentation and Bill of Materials have been updated
  • The code is complete and uploaded in GitHub
  • Functionality has been reviewed
  • The tests to ensure the feature is working have been created

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Scrape AVM upload date

User story

  1. As a developer
  2. I want the AVM module when scraped
  3. must contain the respective upload date

Acceptance criteria

  • Recent upload date available

Definition of done (DoD)

  • All the acceptance criteria have been met
  • The code has been merged with the main one
  • The documentation and Bill of Materials have been updated
  • The code is complete and uploaded in GitHub
  • Functionality has been reviewed
  • The tests to ensure the feature is working have been created

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Download firmware - AVM

User story

  1. As a user after having chosen AVM product
  2. I want the software to search the website
  3. So that the download can be initiated

Acceptance criteria

  • Correct firmware is downloaded

Definition of done (DoD)

  • Added only after week 5
  • The same for all features
  • Here goes the project specific part

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Drafting, Analtying and Downloading firmware - Asus

User story

  1. As a user after having chosen Asus product
  2. I want the software to search the website
  3. So that the download can be initiated

Acceptance criteria

  • Correct firmware is downloaded

Definition of done (DoD)

  • Added only after week 5
  • The same for all features
  • Here goes the project specific part

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Find solutions for inconsistencies in metadata provided by Schneider Electric

User story

  1. As a user of the software
  2. I need the Schneider Electric scraper to return all valid metadata whenever possible
  3. So that the firmware from can be downloaded

Acceptance criteria

  • Multiple download links for the same firmware product can be handled
  • Metadata fields are extracted correctly, even for corner cases

Definition of done (DoD)

  • All the acceptance criteria have been met
  • The code has been merged with the main one
  • The documentation and Bill of Materials have been updated
  • The code is complete and uploaded in GitHub
  • Functionality has been reviewed
  • The tests to ensure the feature is working have been created

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Logger for vendors

User story

  1. As a user of the software
  2. I want to have the logger in the vendor modules
  3. So that specified events and errors are being logged

Acceptance criteria

  • There is a logger implemented in the vendor modules
  • The events to be logged are defined
  • The errors to be logged are defined

Definition of done (DoD)

  • All the acceptance criteria have been met
  • The code has been merged with the main one
  • The documentation and Bill of Materials have been updated
  • The code is complete and uploaded in GitHub
  • Functionality has been reviewed
  • The tests to ensure the feature is working have been created

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Refinement of AVM vendor module

User story

  1. As a user of the software
  2. I need the AVM vendor data to be downloaded from web servers instead of FTP server
  3. So that the firmware data is downloaded

Acceptance criteria

  • The AVM vendor firmware data is downloaded as per the schema

Definition of done (DoD)

  • All the acceptance criteria have been met
  • The code has been merged with the main one
  • The documentation and Bill of Materials have been updated
  • The code is complete and uploaded in GitHub
  • Functionality has been reviewed
  • The tests to ensure the feature is working have been created

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

test

User story

  1. As a {}
  2. I want / need {}
  3. So that {}

Acceptance criteria

  • Criterion 1
  • Criterion 2
  • ...

Definition of done (DoD)

  • Added only after week 5
  • The same for all features
  • Here goes the project specific part

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Download firmware - Synology

User story

  1. As a user after having chosen Synology product
  2. I want the software to search the website
  3. So that the download can be initiated

Acceptance criteria

  • Correct firmware is downloaded

Definition of done (DoD)

  • Added only after week 5
  • The same for all features
  • Here goes the project specific part

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Download Firmware for a random vendor

User story

  1. As a user after having chosen random vendor
  2. I want the software to search the website
  3. So that the download can be initiated
  4. And meta data can be mapped

Acceptance criteria

  • Correct firmware is downloaded
  • The Meta data is mapped to the database

Definition of done (DoD)

  • All the acceptance criteria have been met
  • The code has been merged with the main one
  • The documentation and Bill of Materials have been updated
  • The code is complete and uploaded in GitHub
  • Functionality has been reviewed
  • The tests to ensure the feature is working have been created

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Core should have funtionality to compare products/firmware

User story

  1. As a user
  2. When i run the core
  3. Then the core should be able to compare the product catalog with all historised firmware data already available

Acceptance criteria

  • Find appropriate comaprision method
  • Should run as fast and effecient as possible
  • Write python test for finding new products
  • if no new products found skip downloading
  • Display information about the number of items being dowloaded and comapred (logging)

Definition of done (DoD)

  • All the acceptance criteria have been met
  • The code has been merged with the main one
  • The documentation and Bill of Materials have been updated
  • The code is complete and uploaded in GitHub
  • Functionality has been reviewed
  • The tests to ensure the feature is working have been created

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Another test for the new board

User story

  1. As a {}
  2. I want / need {}
  3. So that {}

Acceptance criteria

  • Criterion 1
  • Criterion 2
  • ...

Definition of done (DoD)

  • Added only after week 5
  • The same for all features
  • Here goes the project specific part

DoD general criteria

  • Feature has been fully implemented
  • Feature has been merged into the mainline
  • All acceptance criteria were met
  • Product owner approved features
  • All tests are passing
  • Developers agreed to release

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.