Giter Site home page Giter Site logo

kronologi's People

Contributors

dylanfernandes avatar emd21 avatar jbk5988 avatar marcleclair avatar matthewteolis avatar meliduong13 avatar vartanbeno avatar weieiei avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

kronologi's Issues

Payment processing when booking appointments

As a business owner, I want to let people pay for their appointment in advance. As user, I want to be able to pay for my appointment when scheduling it.

[SP:5 ]
[Value: high]
[Risk:high ]
[Priority:medium ]

Services Refactor

Description of Issue
Ref #7
Refactor services to work with multiple business feature
[SP: 1]
[Value: ]
[Risk: ]
[Priority: ]

Modify server flow to handle multiple businesses

As a user, I want to be able to add a business. To do so, the current state of the server must be modified to handle such objects. This means that every previous functionality of the application ( such as appointment) must be able to be linked to a certain business.

[SP: 8]
[Value: High]
[Risk: High]
[Priority:High ]

Improve Testing Coverage

Improve Coverage of Testing
Make a new branch for tests and write more tests, improve existing ones, make any tests currently failing work.
[SP: 0]
[Value: High]
[Risk: Medium]
[Priority: High]

@meliduong13

  • GoogleApi
  • ServiceService
  • UserService (update tests)

@dylanfernandes Test

  • AppointmentServiceTest migration to Employee Entity Tests
  • Employee functionality tests
  • String Matcher tests
  • Modify shift that conflicts with existing shift test

@Weieiei Test

  • Test for service File and user File
  • Modify tests for AdminController
  • AppointmentServiceTest fix

Caching http requests in front end

It's being done separately from 490 as it is a performance improvement and to enable the app to be used as a mobile web app not necessarily required for the existing web app to function
Description of Issue
As a user, I want to be able to cache the front end HTTP requests, so that I can reduce load on the backend.
[SP: 13]
[Value: High]
[Risk: Medium]
[Priority: Medium]

Task breakdown:

  • Convert the application into a progressive web app
  • Define the browser caching rules for the progressive web app
  • Create caching structure in front end
  • Implement caching in selected services

Implementation breakdown:
// todo

Step by step demonstration:
// todo

File Upload Functionality

Description of Issue
As user or admin, I would like to upload files onto the application
[SP: 8]
[Value: High]
[Risk: High]
[Priority: High]

Task breakdown:

  • Update DB to handle file upload
  • Implement routes to handle file upload
  • Implement tests for routes

Implementation breakdown:
// todo

Step by step demonstration:
// todo

Change the appointment booking flow to a more intuitive and appealing design

Description of Issue
As a user, I want to easily be able to book an appointment without having prior knowledge of how the booking system works.
[SP: 5]
[Value: High]
[Risk: Medium]
[Priority: High]

Task breakdown:

  • Task example (2h)
  • Task example (1h)
  • Task example (0.5h)

Implementation breakdown:
// todo

Step by step demonstration:
// todo

Bugs

  1. The creation of services for a business admin need the id of business in CreateServiceComponent, and also a field to update the service file [critical]

    • fix the service creation (bug)
    • In the setting page, the words are in white. it may be caused by the bug in dark mode.
    • An employee cannot view their appointments (need to pass the date, in order to get all appointments) in getEmployeesConfirmedAppointments
    • Override color of the text in reminder-settings (currently white, but color is set within mat-checkbox

Generate and Document Front End Architecture

Description of Issue
Asa a developer, I want to do view the detailed architecture of the Angular application, so that I can document the architecture and explain it.
[SP: 2]
[Value: Medium ]
[Risk: Low]
[Priority: High]

Task breakdown:

  • Configure compodoc for the Angular application
  • Extract a report for the architecture

Implementation breakdown:
// todo

Step by step demonstration:
// todo

Provide new logo and Images

Draw new logo, provide stock images
As user X, I want to do Y, so I can accomplish Z.
[SP: 0]
[Value: Medium]
[Risk: Low]
[Priority: Medium]

Task breakdown:

  • New logo for website
  • New favicon.ico (in client/src) to reflect new logo
  • Stock images for clients
  • Stock images for businesses
  • Stock images for services

Allow registration of new business

As a user, I want to be able to register a new business. This registration MUST require at least one service provided by the business upon registration.

[SP: 8]
[Value: High]
[Risk:Medium ]
[Priority:High ]

Business Creation Route

As a user I can register a business with multiple services.

[SP:8 ]
[Value:High ]
[Risk: High]
[Priority:High ]

Transform the web application to allow multiple type of businesses

The application should be able to take in multiple businesses and allow the registration of such businesses.

This means that a page to look for such businesses should be created. This also changes how the server works since some services and appointments have to be registered to a certain business. More or less, this also means that the functioning of some accounts will have to be modify to fix the vision of the application

Allow new business to register with information from Google

As a user, I would like to register my business without having to input all the information which could be fetched from google if possible.

[SP:5 ]
[Value:medium ]
[Risk: medium]
[Priority: high]

Task breakdown:

  • Task example (2h)
  • Task example (1h)
  • Task example (0.5h)

Implementation breakdown:
// todo

Step by step demonstration:
// todo

Employee Availabilities

Description of Issue
As a user, I would like to be able to get the employee availabilities of employees for a selected service.
[SP: 8]
[Value: High]
[Risk: Medium]
[Priority: High]

Task breakdown:

Add functionality to be able to compute an employees availabilities using their shifts and appointments. An availability is defined as being a period of time during a shift were there are no appointments booked.

  • Design changes to effectively implement feature
  • Update Shift and Appointment to create link between them
  • Update appointment creation/update/delete
  • Update seed for new design
  • Add routes to get availabilities

Implementation breakdown:
// todo

Step by step demonstration:
// todo

Recurring Events (Appointments and Employee Shifts)

As a user, I would like to book recurring appointment.
As an admin I would like to book recurring employee shifts.
[SP: 8]
[Value: Medium]
[Risk: Low]
[Priority: Medium]

Set up functionality to allow recurring employee shifts and recurring appointments.
Task breakdown:

  • Implement functionality to create recurring events, functionality should be reusable
  • Create route for recurring appointments
  • Create route for recurring employee shifts
  • Refactor UI for recurring appointments
  • Refactor UI for recurring employee shifts

Implementation breakdown:
// todo

Step by step demonstration:
// todo

Create business entity, table, and routes to be able to have multiple business objects.

As a user, I would like to be able to register multiple businesses. To do so, the server must handle businesses object and have routes to handle the creation and retrieval of such objects.

Major task is the following : update all routes in the controller to have a business Id in their call:

  • AppointmentController
  • UserController
  • ServiceController
  • ReviewController
  • EmployeeController
  • BusinessController
  • AdminController

[SP:13 ]
[Value: High]
[Risk: Medium ]
[Priority: High]

Receipts

Generate a receipt in PDF from a form on the website.

This is related to issue #73 for payments processing (part of @MarcLeclair's 491). As payments was not something originally planned for us, this is something that would not have been done if it wasn't for 491.

[SP: 5]
[Value: Medium]
[Risk: Low]
[Priority: Low]

Task breakdown:

  • Create a form that admin has access to
  • Generate a PDF when the form is submitted

Employee Controller Refactor

Description of Issue
Ref #7
Refactor Employee controller to work with multiple businesses.
[SP: 3 ]
[Value: ]
[Risk: ]
[Priority: ]

Task breakdown:

  • Add repository methods
  • Add service methods
  • Add routes to controller

Implementation breakdown:
// todo

Step by step demonstration:
// todo

Security Upgrade for Verification and File Upload

[SP: 1]
[Value: Low]
[Risk: Medium]
[Priority: Medium]

Task breakdown:

  • Change verification hashing function to a more secure hashing function
  • Increase security on file naming

Implementation breakdown:
// todo

Step by step demonstration:
// todo

Have form validation for registering users.

As a user, there must be a form validation so that I no errors occur once I submit my information.

[SP: 8]
[Value:high ]
[Risk:low ]
[Priority:high ]

Task breakdown:

  • Replace current forms with Angular reactive forms
  • Update data flow for forms
  • Implement multiple service creation when registering
  • Add stepper flow validation
  • Add field validation
  • Add validation error messages

Implementation breakdown:
// todo

Step by step demonstration:
// todo

Password Recovery

This feature was implemented as 491 as #75 was not as much coding as expected and this feature was not prioritized as essential earlier.
As a user, I want to be able to recover my account if I forget the password.
[SP: 5]
[Value: High]
[Risk: Medium]
[Priority: Medium]

  • Have the option of "Forgot your password?" at login
  • Have the option of "Forgot your password?" if password is incorrect
  • When the user chooses "Forgot your password?" option, they are prompted for their email.
  • An email is sent with an account recovery link (possibly something that expires in 24 hours or so) that allows the user to choose a new password
  • If the link is properly followed and the password is valid, the password is updated in the DB
  • The email should NOT contain a password (hashed or plain text)

Connect "general business" View with appointment view

As a user , I want to be able to see all my appointments with a certain business. To do so, I must be able to select the business I want and it must redirect me to the correct page with all the appointments respectively showing.

[SP:5 ]
[Value: High]
[Risk: Low]
[Priority:High ]

Service Files

Description of Issue
As an admin I would like to upload and download to my files to set pictures for my services.
[SP: 5]
[Value: High]
[Risk: Low]
[Priority: High]

Task breakdown:

  • Add serviceFile table to database which will contain all files associated to a user
  • Implemented services to save and retrieve files
  • Implement routes to save and retrieve files
  • Set default picture to all services in the DB (update seed users + save default picture in DB for new users)
  • Implement frontend page for an admin to set a profile picture
  • Implement frontend page for an admin to modify a profile picture

Implementation breakdown:
Ensure that the new table is linked to specific businesses. A table will be used to contain all service files in order to allow the upload of service specific files such as disclaimers in the future.

Step by step demonstration:
// todo

Guest Appointments

As a user I want to be able to make an appointment without fully making an account
[SP: 8]
[Value: High]
[Risk: Medium]
[Priority: High]

Create a service to resize images

As a user, I want to be able to upload a profile image and have the website resize it to what is required.

Since we don't want to create strict requirements for image size, we will resize and crop the image the user uploads and make it as their profile image. This frontend service should be usable for both profile images and business images

User Story Points: 1

Create a dark mode theme

Create a dark mode theme that the user can switch to by using a toggle
As user X, I want to do Y, so I can accomplish Z.
[SP: 3]
[Value: Medium]
[Risk: Low]
[Priority: Medium]

Create a page to view all businesses

As a user, I want to be able to see multiple businesses. To do so, the UI of the application must be able to display and retrieve them.

[SP: 5 ]
[Value:High ]
[Risk: Medium]
[Priority:High ]

User Files

Description of Issue
As user I would like to upload and download files to my account in order to set my profile picture.
[SP: 5]
[Value: High]
[Risk: Low]
[Priority: High]

Task breakdown:

  • Add userFile table to database which will contain all files associated to a user
  • Implemented services to save and retrieve files
  • Implement routes to save and retrieve files
  • Set default picture to all users in the DB (update seed users + save default picture in DB for new users)
  • Implement frontend page for user to set a profile picture
  • Implement frontend page for user to modify a profile picture

Implementation breakdown:
Ensure that the new table isn't linked to specific businesses. A table will be used to contain all user files in order to allow the saving of receipts for specific users.

Step by step demonstration:
// todo

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.