Giter Site home page Giter Site logo

amosproj / amos2022ws05-shared-desk-mgmt Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 1.0 168.75 MB

Home Page: https://amosproj.github.io/amos2022ws05-shared-desk-mgmt/

License: MIT License

Dockerfile 0.46% JavaScript 0.89% TypeScript 35.90% Shell 0.05% CSS 0.01% C# 62.57% HTML 0.12%

amos2022ws05-shared-desk-mgmt's Introduction

Deskstar (AMOS WS 2022/23)

Jump directly to the Local Setup.

team-logo (Benutzerdefiniert) (1)

Feature Board: https://github.com/orgs/amosproj/projects/11

Impediments backlog: https://github.com/orgs/amosproj/projects/12

Product Vision

As a mix of homeoffice and working in the office is becoming more popular, many companies are reducing the number of desks in the workplace to save money. Deskstar allows employees to book desks from home to make sure they have a workplace available when traveling to the office. This way unnecessary trips are avoided when no desks are available and companies can find out in which areas more bookable resources are needed. Our service thus makes the lives of companies and their employees easier regarding novel hybrid working spaces.

Project Mission

Our project mission is to create a prototype version of a shared desk management system in the given timeframe as a web application supporting the most important requirements of our industry partner. Our system will cover basic booking functionalities for users as well as resource and user management for admins. To meet this goal, we will maintain a strong relationship within the team and with the industry partner and work together in a friendly atmosphere.

amos2022ws05-shared-desk-mgmt's People

Contributors

xilef45 avatar n3rdc4ptn avatar eddyhakimi avatar woerndle avatar jantiegges avatar qy21gafy avatar stefanpfahler avatar faoilthiama avatar ardianpalloshi avatar dirkriehle avatar alexkoltman avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

jantiegges

amos2022ws05-shared-desk-mgmt's Issues

Registration function

User story

  1. As a new user
  2. I want / need to be able to register for the system with my data
  3. So that I can login later and access the features of shared desk management

Acceptance criteria

  • Gets user input: email, name, password, company id
  • Every user should only be able to register once with the same mail
  • After registration a user should be marked as a user that awaits approval
  • The registration should fail if the company is not yet registered
  • The provided data should be stored in the database if the registration doesn't fail
  • Registration function should return if the registration was successful or not

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

Make overview page pretty

User story

  1. As a user
  2. I want / need the bookings of this week to be organized nicely
  3. So that I can quickly see what's coming up for me this week

Acceptance criteria

  • Showcase bookings for that week of the logged in user on the overview page in a calendar view
  • Add a section to display the bookings of the current day (if present) with more details next to the calendar view

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Booking Overview Backend

User story

  1. As a user
  2. I want / need to see my future bookings in the system on my bookings page
  3. So that I know which desks I have booked

Acceptance criteria

  • Implement end point that gives back all bookings of the current user depending on input
  • The function should return the booked desks together with their name, location, building, room, date and time details

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Homepage - UI

User story

  1. As a user
  2. I want / need to see a homepage when I first access the shared desk management system before logging in
  3. So that I can learn what Deskstar is, what features it provides and access the documentation

Acceptance criteria

  • Homepage should have a nice UI and be the first page a logged out user sees when accessing our system
  • Homepage should describe what Deskstar is and what basic functionality it provides
  • Homepage should link or contain a documentation in case users have problems or want to know more before registering
  • Homepage should provide access to the login and registration function, which should be immediatly visible

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Personal Desk Booking Page - UI

User story

  1. As a user
  2. I want / need to see a UI page for booking personal desks
  3. So that I can select a date and time as well as select my desk preferences

Acceptance criteria

  • The UI page for booking personal desks should show the text: Hello username, book a personal desk
  • The page should provide a calendar to select a date and an option to enter a time for booking desks
  • The page should offer options to select preferences specified by the company (drop down menues, use mock data): location, building, room, desk type
  • The page should show a search button to initialize the booking search process
  • Only frontend

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Initialize Database

User story

  1. As a user
  2. I want / need a database that holds my user data, booked desks, company data etc.
  3. So that I can efficiently book desks

Acceptance criteria

  • Database initialization should follow the specified design
  • Database should contain dummy data to allow easy testing of future features
  • SQL Database should be used, industry partner suggested MS-SQL-Server Express or PostgreSQL
  • Dev environment setup in docker
  • Research production databases

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

User data endpoint

User story

  1. As a user
  2. I want / need my user data to be used for my login session
  3. So that I can see my user name on certain pages as well as the admin sections if I'm an admin

Acceptance criteria

  • Add endpoint to return user data for front end
  • Return user name and admin status

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Add Building

User story

  1. As an admin
  2. I want / need to be able to add new buildings
  3. So that my company details stay up to date and desks for that building can be added

Acceptance criteria

  • Full feature
  • The UI section becomes visible when hitting the add resource button in the resource management page (same UI section as for issues add desk, add room, add floor and add building)
  • Should display text "Add Resource"
  • Drop down menu to switch between Desk, Room, Floor, Building - default is desk
  • If building is selected, admin should be able to enter building name and location
  • Should contain button "Confirm"
  • If the button is pressed the building should be added to the database and a success message should be displayed

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Basic Homepage - UI

User story

  1. As a user
  2. I want / need to see a homepage when accessing deskstar
  3. So that I can log in or register

Acceptance criteria

  • Homepage should give access to the login and register function
  • Only frontend part

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 dev environment using docker-compose

User story

  1. As a software developer
  2. I want / need a development environment using docker-compose
  3. So that I and my teammates have less set up work in total.

Acceptance criteria

  • Environment fits our architecture design

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

Resource Booking - Book Function

User story

  1. As a user
  2. I want / need to be able to book a resource returned from the search function
  3. So that I have a desk when I want to work in the office

Acceptance criteria

  • Book function is initialized by hitting the book button next to a resource shown on the resource booking page
  • If the button is pressed, the booking for the specified timeslot, resource and user is applied in the database and a success message is shown if the booking succeeds, otherwise an error message is displayed

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Add floor

User story

  1. As an admin
  2. I want / need to be able to add a new floor of my building
  3. So that rooms and desks can be added for that floor

Acceptance criteria

  • Full feature
  • The UI section becomes visible when hitting the add resource button in the resource management page (same UI section as for issues add desk, add room, add floor and add building)
  • Should display text "Add Resource"
  • Drop down menu to switch between Desk, Room, Floor, Building - default is desk
  • If floor is selected, admin should be able to enter floor name, building and location
  • Should contain button "Confirm"
  • If the button is pressed, the new floor should be saved in the database if the building at that location exists (+success message), otherwise an error message should be displayed

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Login section UI

User story

  1. As a user
  2. I want / need to see a login section
  3. So that I can enter my login data

Acceptance criteria

  • Login section appears after hitting the login button
  • Login section provides fields to enter the login data - email+password
  • Login section contains a button to start the login function
  • Login section should show an error message to the user if the login fails and disappear if login was successful

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

Personal Desk Booking - Search Function

User story

  1. As a user
  2. I want / need to be able to find available desks for a certain day and time considering my preferences
  3. So that I can book my favorite one and work productively at the office

Acceptance criteria

  • Search function is initialized by hitting the search button on the personal desk booking page
  • Function gets parameters from UI page: start date and time, end date and time and optional preferences (location, building, room, desk type)
  • Function should identify and return possible free desk options in a sorted manner (location ->building->room) so that they can be efficiently displayed
  • Results should be displayed in the resource booking page, which is shown after the function returns

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Connect FE an BE for recent bookings on overview page and booking overview

User story

  1. As a user
  2. I want / need to see the correct recent and future bookings for myself stored in the database
  3. So that I am reminded which desks I booked

Acceptance criteria

  • Mock data in FE gets replaced with real data queried from the backend
  • For the overview front page the bookings for the current day and all upcoming bookings are shown
  • For the bookings overview page all bookings should be shown

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Delete resource

User story

  1. As an admin
  2. I want / need to be able to delete resources
  3. So that they don't get booked by users anymore

Acceptance criteria

  • Delete function is called for a specific resource when the trashcan button next to it in the resource management page is clicked
  • Resource is then marked as deprecated in the database and no longer shown to the normal users for new bookings
  • Deprecated resources are marked as such in current/old bookings of the users, e.g use a red '!' icon in the bookings table display and display it's meaning when the user hovers over the icon

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Resource Management - Add new resource function

User story

  1. As a user (admin)
  2. I want / need to be able to add new resources available to be booked
  3. So that the employees of my company can book them

Acceptance criteria

  • The function should be accessible through the resource management's "add resource" button and be initialized after completing entering all of the resource information and hitting the respective button
  • The function should add an appropriate entry in the database with the new resource information
  • After adding the resource it should be displayed in the list of all available resources of that company in the admin section
  • After adding the resource it should be bookable by users of the respective company

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Add recurring bookings

User story

  1. As a user
  2. I want / need to be able to book a desk in a recurring way
  3. So that I can use the same desk every week if I come to work regularly and don't need to book it every week

Acceptance criteria

  • Add a new checkbox to the personal desk booking page - "Recurring booking?"
  • If the checkbox is selected, the booking for the selected week day and the time period is applied to the desk for all weeks in the future
  • Recurring bookings should be marked as such in the bookings overview page

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

User Management - Approve Registration Request Function

User story

  1. As a user (admin)
  2. I want / need to be able to approve open registration requests of employees of my company
  3. So that they can log in and use the shared desk management system

Acceptance criteria

  • Function should be initialized by pressing the approve button next to the registration request in the user management tab
  • The database should be updated to allow the new user to log in
  • The new user should be notified (e.g per mail) that he can now log into the system
  • The new user should now be displayed in the overview of all registered users of his company

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Book for someone else

User story

  1. As a user
  2. I want / need to be able to book a desk for someone else
  3. So that I can make sure my favorite collegue sits close to me

Acceptance criteria

  • Add checkbox on the personal desk booking page underneath the time options "Book for someone else"
  • If the checkbox is pressed, a field appears to enter the email of the other user
  • The subsequent booking is then applied to the user with the specified email address, not the logged in user

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Resource Booking - UI

User story

  1. As a user
  2. I want / need to be able to see a page to book one of the available desks returned from the search function
  3. So that it is reserved for me and I can use it

Acceptance criteria

  • UI page should be show the text: "Search Results:"
  • UI should use drop down menus to display results sorted hierarchically by location->building->room (e.g by unfolding content)
  • UI page should display results in a table
  • UI page should display properties and names of all available resources
  • UI page should offer a book button next to each result
  • UI page should show an example with mock data

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Move navigation bar to the side

User story

  1. As a user
  2. I want / need to have the navigation bar at the side instead of the top
  3. So that it doesn't look crowded and more items can be displayed there

Acceptance criteria

  • Navigation bar is visible on all pages while being logged in
  • Navigation bar is moved to the side instead of the top

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Booking Overview - UI

User story

  1. As a user
  2. I want / need to see all my bookings
  3. So that I remember when to go to the office and can delete or edit the bookings if necessary

Acceptance criteria

  • The UI page should be identifyable as the booking overview page using basic text: "My Bookings:"
  • The UI page should display all bookings that lay in the future with the desk name, room, building, location, date and time details for that user ordered by date/time (mock data)
  • The page should provide buttons to edit and delete the bookings next to each entry, ideally using a notepad and a trashcan symbol

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Software architecture design

User story

  1. As a software developer
  2. I want / need a base architecture to exist for the project
  3. So that I can add 'actual' features for the users

Acceptance criteria

  • Architecture should consider frontend, backend and communication
  • Architecture should consider user and admin roles existing in the final product
  • Architecture should allow future changes and the integration of new components

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

User Management - UI

User story

  1. As a user (admin)
  2. I want / need to be able to see all registered users and registration requests
  3. So that I can add new users or give certain users admin priviledges or other permissions

Acceptance criteria

  • The user management page should only be accessible for admins
  • The user management page should provide a tab with an overview of all registered users of the admin's company with their data (email, first name, last name) and status (admin?) in a list and a tab showing all registration requests of new users of the admin's company with their provided data in a list (email, first name, last name)
  • The status data should use interactive checkboxes and admin as the column name. This way an admin can quickly give other users admin priviledges or remove them
  • The tab showing all registered users should provide a button to delete or edit a user as the last item in each row, ideally using a trashcan symbol and note symbol
  • The tab showing the registration requests should provide a button for approving and declining the registration next to each user entry, ideally using โœ“ and X
  • Only frontend, use mock data

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Build Software base ( Back end )

User story

  1. As a software developer
  2. I want / need a software base built respecting the architecture
  3. So that features can easily be added

Acceptance criteria

  • Choose and implement the database driver
  • Create a dockerfile
  • Define an architecture

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

Optimize dark mode

User story

  1. As a user
  2. I want / need to clearly be able to read the text in dark mode
  3. So that I can find features faster

Acceptance criteria

  • Make text more readable in dark mode

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Registration section UI

User story

  1. As a user
  2. I want / need to see a registration section
  3. So that I can enter my registration data

Acceptance criteria

  • Registration section appears after hitting the register button
  • Registration section provides fields to enter the registration data - email, name, password, company
  • Registration section contains a button to start the registration function

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

Edit user

User story

  1. As an admin
  2. I want / need to be able to edit a user's data
  3. So that important changes of the user's data are not dependent on him changing them himself (and perhaps forgetting)

Acceptance criteria

  • Full feature
  • UI view appears when selecting the edit button next to a user in the user management page
  • Displays text "Edit User firstname lastname"
  • Has input options for first name, last name
  • Has "Confirm" button
  • If the confirm button is pressed, the details of the user are updated in the database (+success message) and an email is sent to that user notifying him about the change

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Build software base ( Front End )

User story

  1. As a software developer
  2. I want / need a software base built respecting the architecture
  3. So that features can easily be added

Acceptance criteria

  • Software base should be initialized in such a way so that features can easily be added to the components
  • Use next.js and typescript
  • Install tailwindcss
  • Workout some state management solutions
  • Have a Dockerfile

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

Docker compose backend

User story

  1. As a software developer
  2. I want / need the docker compose to work correctly with the backend
  3. So that it's easier to run our system

Acceptance criteria

  • Docker compose works correctly with backend

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Add admin

User story

  1. As an admin
  2. I want / need to be able to see and access different functionalities than normal users
  3. So that I can manage users and resources and normal users can't

Acceptance criteria

  • Add admin user
  • Some routes only available for admin

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Resource Management - UI

User story

  1. As a user (admin)
  2. I want / need to be able to see all resources added by my company and enter the information for new ones
  3. So that I can add new ones, edit or delete them

Acceptance criteria

  • The resource management page should only be visible for admins
  • The resource management page should provide a list of all available resources of the admin's company with their respective properties: desk name, location, building, room, floor
  • The resource management page should offer a button for editing and one for deleting a resource next to each resource, ideally using a notepad and trashcan symbol
  • The resource management page should offer a button near the top for adding a new item "Add Resource"
  • The page should offer options to filter the displayed resources depending on certain properties - location, building, room
  • Only frontend, use mock data

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Delete booking

User story

  1. As a user
  2. I want / need to be able to cancel my bookings
  3. So that they can be booked by other people if I don't need the desk

Acceptance criteria

  • Delete function is called for a specific booking when the trashcan button next to it in the booking overview page is clicked
  • Booking is then deleted from the database and a success message is displayed

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Database design

User story

  1. As a software developer
  2. I want / need ma design for my database
  3. So that I can initialize it for the project

Acceptance criteria

  • Database design should consider user data (name, company, permissions, admin status etc.)
  • Database design should consider booked desks of each user (desk, time, place, user etc.)
  • Database design should consider available resources of each company (name, type, place, capacity etc.)
  • Database design should consider different company data (e.g name, country, locations, buildings etc.)
  • Database design should be normalized

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

User Profile

User story

  1. As a user
  2. I want / need to be able to update my personal information and submit additional data in a profile section
  3. So that I can keep my information up to date

Acceptance criteria

  • The profile page should be accessible from every page of our web application
  • The profile page should show the information provided during registration in the profile page - for now email, first name, last name, password
  • User should be able to update his own information provided during registration in the profile page (text fields displaying information can be edited) - for now email, first name, last name, password
  • The page should contain an update button
  • If the update button on the profile is pressed, the user's information is updated in the database + success message if the update is possible (user is still unique), otherwise display an error message

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Approve/Decline user

User story

  1. As an admin
  2. I want / need to be able to approve and decline users awaiting review
  3. So that they can then login

Acceptance criteria

  • If the โœ“ button next to a user is the user requests section is pressed, the user is approved and can then login
  • If the X button next to a user is the user requests section is pressed the user has access declined and cannot login

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Git Commit Pipeline

User story

  1. As a software developer
  2. I want / need a git commit pipeline with automated tests
  3. So that no buggy code gets added to the main development branch

Acceptance criteria

  • Code commited to the main branch is only integrated into the existing solution if all tests are passed
  • Automated tests are added to ensure a certain code quality
  • Commit pipeline outputs code coverage for easier checking of sprint release DoD

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Edit Resource

User story

  1. As an admin
  2. I want / need to be able to edit the resources in the system
  3. So that I can keep their details up to date

Acceptance criteria

  • Full feature
  • UI view appears when selecting the edit button next to a resource in the resource management page
  • Displays text "Edit Resource"
  • Has input options for desk name, location, building, floor, room and desk type for desks
  • Has input options for building name, location for buildings
  • Has input options for room name, location, building, floor for rooms
  • Has input options for floor name, location, building for floors
  • Has input options desk type for desk type
  • Has "Confirm" button
  • If the confirm button is pressed, the details of the resource are updated in the database if the entered items exist (+success message), otherwise an error message is displayed

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Login function

User story

  1. As a user
  2. I want / need to be able to log into my account and get access to different features depending on my status (admin?)
  3. So that I can use the shared desk system to book desks and more

Acceptance criteria

  • Login function gets email and password as input
  • Login function should correctly identify registered users in the database and let them access the system if their login data was correct
  • Login function should return if the login was sucessful or not

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

Overview Page UI

User story

  1. As a user
  2. I want / need to see an overview page after logging in
  3. So that I know I successfully logged in and can now book desks

Acceptance criteria

  • The page should be the first page seen after logging in
  • The page should show the text: "Hello username, welcome back to Deskstar"
  • The page should provide a brief overview over the most recent bookings ( mock data )
  • The page should contain a button that runs the logout function

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Add meeting rooms

User story

  1. As a user
  2. I want / need to be able to book meeting rooms as well as desks
  3. So that I have a place to meet in the office

Acceptance criteria

  • Add meeting rooms as an additional bookable resource

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Overview page bookings backend

User story

  1. As a user
  2. I want / need to see my recent bookings in the system on my overview page
  3. So that I can view them quickly when I login in

Acceptance criteria

  • Implement end point that gives back the recent bookings of the current user
  • Backend part

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Logout function

User story

  1. As a user
  2. I want / need to be able to logout from shared desk management
  3. So that outsiders can't access the system, e.g if I logged in on a public computer

Acceptance criteria

  • After logging out the user should not be able to access any internal functions of shared desk management anymore
  • The user should be able to login again after logging out

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

Edit bookings

User story

  1. As a user
  2. I want / need to be able to edit my bookings
  3. So that I can quickly adjust them for my favorite desk

Acceptance criteria

  • Full feature
  • When hitting the edit button next to a specific desk, the same options appear like when adding a new booking preset with the specific bookings data
  • Contains a update button
  • When the update button is clicked, the booking is updated if the new settings are available(+success message), otherwise an error message is displayed

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Connect FE and BE for login and registration function

User story

  1. As a user
  2. I want / need the login and registration function in the UI to actually check the inputed data
  3. So that the login and registration works correctly and doesn't just allow anyone onto the system

Acceptance criteria

  • Frontend and backend get connected for login and registration function
  • Login and registration functions display error message when they fail
  • Registration function displays a message when it succeeds
  • Backend adds error functions

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Add Desk

User story

  1. As an admin
  2. I want / need to be able to add new desks
  3. So that they can be booked by users

Acceptance criteria

  • Full feature
  • The UI section becomes visible when hitting the add resource button in the resource management page (same UI section as for issues add desk, add room, add floor and add building)
  • Should display text "Add Resource"
  • Drop down menu to switch between Desk, Room, Floor, Building - default is desk
  • If desk is selected, admin should be able to enter desk name, properties, location, building, floor and room
  • Should contain button "Confirm"
  • If the button is pressed, a new database entry for that desk is added if the building at the location, the floor and room exist (+success message), otherwise an error message is displayed
  • Two desks with the same name aren't accepted

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Add room

User story

  1. As an admin
  2. I want / need to be able to add new rooms
  3. So that desks for them can be added

Acceptance criteria

  • Full feature
  • The UI section becomes visible when hitting the add resource button in the resource management page (same UI section as for issues add desk, add room, add floor and add building)
  • Should display text "Add Resource"
  • Drop down menu to switch between Desk, Room, Floor, Building - default is desk
  • If room is selected, admin should be able to enter room name, floor, building and location
  • Should contain button "Confirm"
  • If the button is pressed, a new room entry should be added to the database if the building at the location and the floor exist (+success message), otherwise an error message should be displayed

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Design our software testing procedure

User story

  1. As a software developer
  2. I want / need a proper software testing procedure
  3. So that errors are found early and can be fixed easily

Acceptance criteria

  • Decide test procedures for frontend and backend
  • Implement the base test procedure

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

Delete user

User story

  1. As an admin
  2. I want / need to be able to delete a user
  3. So that I can remove employees no longer working for the company

Acceptance criteria

  • If the trashcan next to a specific user in the user management page is clicked, a pop up appears, asking the admin if he really wants to delete the user (+ confirm button)
  • Delete function is called for a specific user when the confirm button is clicked
  • User is then deleted from the database + an email is sent to that user notifying him about the change

Definition of done (DoD)

  • The code has been peer-reviewed by at least one team member
  • The documentation was updated if necessary
  • The bill of materials was updated if necessary
  • Working dev setup was 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

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.