Creating a Modern Firebase Powered Application with TDD
Use reactive programming and tests to build a professional app
[Sprint Four] - Refactoring Feedback
More refactoring
PROModule Outline
- Source Code & Resources PRO
- Lesson 1: Introduction PUBLIC
- Lesson 2: The Structure of this Module PUBLIC
- Lesson 3: [Sprint One] Setting up Firebase PUBLIC
- Lesson 4: [Sprint One] Creating Security Rules with TDD PRO
- Lesson 5: [Sprint One] Testing Authentication PRO
- Lesson 6: [Sprint One] Component Store PRO
- Lesson 7: [Sprint One] Circumventing Firebase Authentication for E2E Tests PRO
- Lesson 8: [Sprint Two] Displaying Client List from Firestore PRO
- Lesson 9: [Sprint Two] - Adding Clients PRO
- Lesson 10: [Sprint Two] - Editing Clients PRO
- Lesson 11: [Sprint Two] - Client Details PRO
- Lesson 12: Preparing for Delivery PRO
- Lesson 13: Configuring for Production PRO
- Lesson 14: [Sprint Three] - Refactoring PRO
- Lesson 15: [Sprint Three] Setting up PWA PRO
- Lesson 16: [Sprint Three] Logout PRO
- Lesson 17: [Sprint Three] Delete a Client PRO
- Lesson 18: [Sprint Three] - Feedback Mechanism PRO
- Lesson 19: [Sprint Three] View Feedback PRO
- Lesson 20: More Styling PRO
- Lesson 21: [Sprint Four] - Refactoring Feedback PRO
- Lesson 22: [Sprint Four] - Feedback Dates PRO
- Lesson 23: [Sprint Four] - Client Survey PRO
- Lesson 24: [Sprint Four] - View Survey PRO
- Lesson 25: Final Touches PRO
- Lesson 26: Conclusion PRO
Lesson Outline
Sprint Four
We are going to begin our next sprint now. For those of you not following the project management module, these are the items we are including in this sprint:
- refactor: move feedback service into shared folder #96
- refactor: feedback form to be simplified #104
- feat: feedback button on the home page #103
- feat: see the dates that feedback forms were submitted #102
- feat: send a client a link to the questionnaire #14
- feat: results of the users questionnaire to be visible #15
This will be the last sprint that we complete for this module!
Refactor: Move feedback service into shared folder
We are going to start this sprint with our refactoring tasks, focusing on the feedback features first. We will tackle refactoring the FeedbackService
first - if you are not doing the project management lessons, this was the reasoning for why we are addressing this now:
There was one issue raised recently where we "broke the rules" by using the
FeedbackService
from thefeedback
feature from within ourclients
feature. If a service is within thefeedback
grouping folder, then it should only be used by code within that folder. What we should do is make sure that we move thatFeedbackService
into ashared
folder. This isn't incredibly important at this point, but we really should draw a clear line and not make exceptions on our architecture. If we do start getting sloppy with things like this it can snowball and make our lives difficult later on down the road.
Project management
Remember to move the card for this task to the Test
column, and create a new task branch to work on.
Our approach for this one is going to be relatively straightforward - move it and see what breaks! Remember, we have our tests in place protecting us so we don't have to be too scared about making an architectural change like this.
Move these files:
feedback/data-access/feedback.service.ts
feedback/data-access/feedback.service.spec.ts
to
Thanks for checking out the preview of this lesson!
You do not have the appropriate membership to view the full lesson. If you would like full access to this module you can view membership options (or log in if you are already have an appropriate membership).