Git Product home page Git Product logo

bestreads's Introduction

Bestreads

GitHub Actions codecov

Release

Instructions

To run the application write the following command.

./gradlew run

To run the tests write with the following command.

./gradlew test

To run the checkstyles write the following command.

./gradlew checkstyleMain

To run the jacoco report write the following command.

./gradlew jacocoTestReport

Features

BestReads is designed for storing and searching reading tips. The Java based program is used via terminal. Tips are stored into a database (SQLite). Tips can be exported and imported.

  • User can add a reading tip with a title, an url and related tags (write command "1")
  • User can list all the tips she has added (write command "2")
  • User can delete a tip by giving the id (write command "3")
  • User can fuzzy search tips by title (write command "4")
  • User can search tips by a tag (write command "5")
  • User can export tips to a json file (write command "6")
  • User can import tips to a json file (write command "7")
  • User can exit the program (write command "0")

image

Product Backlog

BestReads product backlog

Definition of Done

  • The acceptance criteria of the user story are met.
  • The functionality has been designed to be a logical part of the software.
  • Tests for the new functionality have been written.
  • Unit tests and integration tests have been passed.
  • Code coverage of tests is at least 85 %.
  • The new functionality has been manually tested by the programmer.
  • The functionality has been documented.
    • JavaDoc
    • Significant new functionality should be documented in README
  • Changes have been pushed to GitHub.

BurnDown Charts

BestReads BurnDown

image

image

image

Final report of the project

Team's final report

bestreads's People

Contributors

jatufin avatar ruusukivi avatar branuz avatar jani-e avatar ylireetta avatar oskari83 avatar

Watchers

 avatar  avatar  avatar

bestreads's Issues

Loppudemoon valmistautuminen

(0.25p) loppudemoon on valmistauduttu asiallisesti (valmistautuminen arvioidaan sen perusteella miten demo menee)
Sovittu etukäteen kuka tekee mitäkin
Mietitty mitä esitetään
Kannattaa esitellä tärkein toiminnallisuus, aikaa demossa on vähän joten ei kannata rönsyillä

Käyttäjä voi hakea vinkkejä otsikon perusteella

  • Jos otsikko sisältää hakusanan niin listataan hakutuloksessa lukuvinkki.

  • Case insesitive ei väliä kirjainkoolla.

  • Listaa kaiken joka sopii hakuun.

  • Lisätään hakumetodin listausmetodiin ReadingTips -luokkaan

  • Päivitetään käyttöliittymä

  • Päivitetään testit

  • Varmistetaan että Dod toteutuu

Sovellukseen ajetaan automaattisesti testidataa

Testidata on järkevää
tietokanta ei saa olla etukäteen tyhjä
tietokannassa oleva data ja testeissä käytettävät syötteet järkeviä, eli ei esimerkiksi 12345, asdf, nimi1, nimi2

Käyttäjä voi poistaa lukuvinkin

  • Voi poistaa id:n perusteella

  • Listauksessa näkyy id

  • Varmistus dialogi (oletko varma että haluat poistaa x)

  • lisätään Tip luokkaan id

  • poistometodi lisätty ReadingTips-luokkaan

  • yhteys tietokantaan toimii

  • käyttöliittymä päivitetty hyväksymiskriteerien mukaiseksi

  • varmistettu että toteutus täyttää DoDin vaatimukset

Backlog siistitty

"Backlogiin ei jää sinne kuulumatonta roskaa, storyjen statukset on kirjattu oikein, jne…"

Käyttäjä voi listata lukuvinkit

Käyttäjä voi listata kaikki syöttämänsä lukuvinkit.
Käyttöliittymä tekstipohjainen ja sitä käytetään terminaalilla.
Kieli on englanti.

Taskit:

  • Lukuvinkeille luotu luokka - Janne
  • Lukuvinkki luokalle luotu yksikkötestit - Janne
  • Tekstipohjainen käyttöliittymä tukee lukuvinkkien listaamista - Jani, Pia
  • Käyttöliittymä luokalle luotu yksikkötestit - Jani
  • On tarkistettu että käyttäjätarina täyttää Definition of Done -vaatimukset

Tiedon pysyväistallennus

  • Kun käynnistää sovelluksen, niin aiemmin syötetyt lukuvinkit ovat tallessa

  • uusi luokka tietokannan hallintaa varten - Jyri

  • käyttöliittymän päivitys

  • testit ajantasalle

Backlog pystytetty

  • Runko pystytetty
  • Product Backlog pystytetty
  • Sprint Backlog pystytetty

Käyttäjä voi hakea tagilla

  • Toimii kaksivaiheisesti
  1. Listaa tagit,
  2. Lukee haettava tagi käyttäjältä.
  • lisätään haku-metodi
  • lisätään tagien listaus -metodi
  • päivitetään käyttöliittymä
  • päivitetään testit
  • varmistetaan että Dod vaatimukset toteutuu

Käyttäjä voi muodostaa lukuvinkin (otsikko, linkki)

Käyttäjä voi luoda lukuvinkin antamalla sille otsikon ja linkin.
Sovellusta käytetään tekstipohjaisen käyttöliittymän kautta terminaalilla.
Sovelluksen kieli on englanti.

Taskit:

  • Lukuvinkille luotu luokka - Janne
  • Lukuvinkille luotu container - Janne
  • Lukuvinkki luokalle luotu yksikkötestit - Reetta
  • Lukuvinkin lisäämiselle tekstipohjainen käyttöliittymä - Jani, Pia
  • Luokalle käyttöliittymä luotu yksikkötestit - Jani
  • On tarkistettu että käyttäjätarina täyttää Definition of Done -vaatimukset

JavaDoc

JavaDoc -dokumentaatio olemassaolevalle koodille

  • javadoc lisätty

Käyttäjä voi lisätä tageja lukuvinkkiin (vapaa teksti)

  • Voi lisätä tageja välimerkillä eroteltuna

  • Ei case sensitive ei väliä onko pieni vai iso kirjain koko

  • Listauksessa tagit näkyvät

  • max 5 tagia

  • Tagi sisältää vain kirjaimia ja numeroita

  • lisätään tags-property luokkaan Tip

  • lisätään tarvittavat metodit

  • lisätään tagit tietokantaan

  • päivitetään käyttöliittymä

  • päivitetään testit

  • tarkistetaan että täyttää DoDin vaatimukset

Loppuraportti - PALAUTUS 20.3

https://docs.google.com/document/d/1hsk3RRMTLlUdPTCcBUK8I9rnN_STo6GY0MT_oH8QF18/edit?usp=sharing

Vertaispalautteen lisäksi ryhmä laatii projektin kulusta pienen raportin (noin 2 sivua)

Kerrataan jokaisen sprintin aikana kohdatut ongelmat (prosessiin-, projektityöskentelyyn- ja teknisiin asioihin liittyvät)
Mikä sujui projektissa hyvin, mitä pitäisi parantaa seuraavaa kertaa varten
Mitä asioita opitte, mitä asioita olisitte halunneet oppia, mikä tuntui turhalta
Jos raportti puuttuu, vähennetään ryhmältä 2 pistettä
Raportti palautetaan lisäämällä raporttiin linkki projektin GitHubin README:hen
Raportista tulee ilmetä jokaisen projektiin osallistuneen nimi
Raportin deadline sunnuntaina 20.3. klo 23:59

Kaikista sprintin userstoreista löytyy kurkut

(0.25p) sprintiin 3 valittujen storyjen hyväksymisehdot kirjattu Cucumber- tai Robot Framework -tiedostoihin
Hyväksymisehtoja ei kirjoteta erikseen backlogiin, vaan backlogista on linkki hyväksymistestin tiedostoon

Projektirunko pystytetty

  • Javan versiolla 11
  • Gradlen versiolla 6.7
  • Jokaisella kehitysympäristö pystyssä omalla koneella

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.