kristisik / tsd-pokerplanning Goto Github PK
View Code? Open in Web Editor NEWPoznan University of Technology Software Engineering Project
Poznan University of Technology Software Engineering Project
User have to check if game is already started
AC1: Everything have to happen only when user is ready
AC2: Everything have to happen automatically in app background
After choosing a card user needs to send an information to the server that he is ready to finish a game and see results.
AC1: User can send an information that he is ready by turning the switch to "ON" position
AC2: After sending "ready" information user can change his status to "not ready yet" by turning the switch back to "OFF" position.
AC3: After turning the switch back to "off" position user can select different card.
Add last view needed for application
It is going to show all the cards chosen by participants
AC1: Showing all cards in grid
AC2: Not missing any data
User need to send information to server that he is ready for planning.
AC1: User have to have possibility o set his status to ready
AC2: User have to have possibility to uncheck that value so it will show information that he is not ready
As a user, I want to join table, using table token.
Functional requirements:
AC1: User receives an error message, if there is no table with cpecified token.
As a user, I want to finish game after all the tasks where reviewed.
Functional requirements:
As a user, I want to choose card from a list of cards after the game was started.
Functional requirements:
As a user, I want to log in to my account, using credentials.
Functional requirements:
AC1: User receives error message, if specified email and password are wrong.
AC2: User receives user token, if authorization was successful.
As a user, I want to specify my custom deck for game.
Functional requirements:
Room creator have to know which player is ready so we have to show this in clear way.
AC1: Green color ready player so it will clearly show that that one is ready
AC2: Gray color not ready player so it will clearly show that that one is NOT ready
Connecting Android repository with free CI system - CircleCi.
AC1: CircleCI have to build project with every repo Push
AC2: CircleCI have to do project Unit Tests
After successful login application should save user email to fill it always on application start.
It is going to be intuitive and convenient for user.
AC1: It should always fill the email if there was successful login in previous session
AC2: Email should not be saved if user has not logged onto account
Init Android Kotlin project
AC1: Compiling on emulator
AC2: Have to work also on phones with Android 5.0 and newer
When user selects card, he or she is able to select card which is behind the current card.
AC1: can not choose another card if any card is already chosen
AC2: can not choose any card behind the the current card even if no card is chosen
Get members thought GET request from backend server
Reading response with list of transport objects
Also working while refreshing list on view
AC1: Working with refresh functionality
AC2: Showing response data on view
Backend team is providing dynamic address in file:
https://sandbox27.neocities.org/tsd-ip.txt
Connect GET endpoint to always check the actual address.
AC1: Always downloading address from link at app start
AC2: User do not have to wait for IP address update
Implementing Registration Screen that is going to work with backend registration
AC1: Text fields for all inputs
AC2: Error messages on validation
Connect Join table endpoint provided by backend
AC1: Validate table id
AC2: Move to another view after success
Android project have to have clean programming architecture
AC1: Clean split into view and controller parts
AC2: Cannot be too much things in view files
There is a bug on carousel with cards. After choosing one card is spite of the fact that carousel is blocked and user cant swipe it, there is a possibility to click other cards on the background.
AC1: User can choose one card
AC2: There is no possibility to choose more than 1 card at once
Application have to have planned workflow.
AC1: Application have to have created prototype
AC2: Cannot stop working in time (like in trial versions)
As an admin of table, I want to have possibility to kick participant of table.
Functional requirements:
Create view that can be prepared to provide "Create table" functionality
AC1: Name text field
AC2: Create button with clear information
Connect create table functionality with backend server
AC1: Reading response with table Id
AC2: Opening and refreshing table on view
First endpoint to connect with backend project
Provides login functionality
Returns access token
AC1: Login working
AC2: Save token in local database
Connect two views:
AC1: Selection on card on carousel
AC2: Working application flow
Unit tests working with Android Application
AC1: Tests also checking the visible parts of application
AC2: Tests working on CircleCI
Create view that provides functionality for choosing card
It going to be implemented like a carousel (with cards rolling around the cricle).
Numbers are going to be Fibonacci numbers
AC1: Working cards carousel
AC2: Fibonacci numbers used
Provide the Android application to work with for not programmers.
AC1: It have to be usable by not only developers
AC2: It have to be working application
Decide if we want to use Kotlin langugage and some of libraries.
Check we need library for architecture
AC1: Working project with basic libraries
AC2: No more than 10 dependencies at start
As a user, I want to create new table.
Functional requirements:
AC1: If user already has table, it should be removed.
Create Maintenance section in project readme
Have to provide information about:
AC1: Showing as detail information as possible
AC2: Provide tutorial on initialising IDE
If the game is over user can see a list of card from all participants
AC1: Every user see list of card from all users
AC2: Every card is displayed with the name of participant that chose it.
AC3: There is a mean value of all card values displayed on the screen.
Programming task to create base classes that are going to be implemented or extended around whole application.
AC1: Helps with providing basic functions around every view and presenter
AC2: Not splitting into more than 5 files
As a user, I want to set my status as "Ready", so that game will not start without me.
AC1: User can change "I am ready" checkbox.
AC2: Admin of table can't start game, if any of participants are not ready.
As a user, I want to see the results of game after all participants have chosen cards.
AC1: Cards are sorted.
AC2: There is "user name - card" information.
Functional requirements:
As a user, I want to see specific information instead of "Something went wrong" as an error message.
AC1: The information, received from server is displayed to user.
View that can be connected with Login functionality
AC1: View with two text fields for password and login
AC2: Check if data is not empty after clicking "Login"
User needs to receive information from the server wheather all game participants finished their evaluation.
AC1: If all users finished their evaluation screen with game result should be displayed
AC2: Information if the game is over should deal with the situation when the user change back his status from "ready" to "not ready yet"
Table creator have to have possibility to start game so everyone can start plan task.
AC1: Show clickable button to start planning
AC2: Planning cannot be started when someone is not ready
Connected with planning workflow
AC1: Create application prototype
AC2: Prototype cannot be on app trial version
As a user, I want to create an account.
Functional requirements:
AC1: If email is already used, user gets information about it.
Init networking layer with reactive programming
Using RxJava and Retrofit (best library for internet connection)
AC1: Reactive approach
AC2: Working connection with endpoints
Create first view which is presenting application logo
AC1: Presenting application logo
AC2: After 2 second another view have to open
As a user, I want to have possibility to select deck of card for new game.
Functional requirements:
User need to send information to server about choosen number
AC1: User have to have possibility to send information about choosen number
AC2: User have to have possibility to send this info multiply times (to override previous decision if he changed his mind)
Create Join table screen
AC1: Provides text field for table ID
AC2: Button to join table
There is a main page, which displays name of project and team members
Swipe participant to kick him out of the room.
After swipe and click on "X" button, application is sending request to kick user
AC1: Swipe view is working and intuitive
AC2: After clicking "X" the player should be kicked
Connect Register endpoint with Reactive approach
Validate information like backend
AC1: Use backend transport objects
AC2: Working register functionality
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.