Skip to content

Instantly share code, notes, and snippets.

@danny-avila
Last active July 7, 2023 19:48
Show Gist options
  • Save danny-avila/9f01ff61f38b50666cf76710a2e48f91 to your computer and use it in GitHub Desktop.
Save danny-avila/9f01ff61f38b50666cf76710a2e48f91 to your computer and use it in GitHub Desktop.
BOC - Fullstack App Engineering Journal

Studio Class Metrics View:

User Story: As a studio owner, I want to be able to view the metrics and performance data of my fitness classes, so that I can track the success and effectiveness of each class.

Acceptance Criteria:

  1. When I log in as a studio owner and navigate to the Studio Class Metrics View, I should see a dashboard displaying key metrics such as class attendance, class ratings, and revenue generated.
  2. The metrics should be presented in a visually appealing and easy-to-understand format, such as graphs, charts, or tables.
  3. I should be able to filter the metrics based on different time periods, such as daily, weekly, monthly, or custom date ranges.
  4. The metrics should be updated in real-time or at regular intervals to provide accurate and up-to-date information.
  5. I should be able to drill down into each specific class to view more detailed metrics, such as average class ratings, number of attendees, and revenue generated per class.
  6. If a particular metric is lower or higher than the expected threshold, I should be able to receive notifications or alerts to take necessary actions or make improvements.
  7. The metrics view should be accessible only to authorized studio owners and protected by appropriate security measures, such as user authentication and authorization.

User Schedule Page:

User Story: As a user, I want a schedule page where I can view and manage my fitness class schedule, so that I can easily keep track of my upcoming classes.

Acceptance Criteria:

  1. When I log in as a user and navigate to the User Schedule Page, I should see a calendar or timeline view displaying my scheduled fitness classes.
  2. The schedule should include details such as class name, instructor, location, date, time, and duration.
  3. I should be able to view my schedule for different time periods, such as daily, weekly, or monthly.
  4. I should have the ability to filter or search for specific classes within my schedule based on criteria such as class name, instructor, or location.
  5. I should be able to add or remove classes from my schedule, as well as modify or cancel existing class bookings.
  6. I should receive notifications or reminders for upcoming classes, either through email, push notifications, or within the application.
  7. The User Schedule Page should be intuitive and user-friendly, allowing me to easily navigate and interact with my schedule.
  8. The schedule should be synchronized and updated in real-time with any changes made by the studio owners or administrators.
  9. The User Schedule Page should be accessible only to authorized users and protected by appropriate security measures to ensure privacy and data protection.

As of today, we've completed the project's initial stages, including team formation, client meetings, sprint planning, project setup, and proposal approval, has been accomplished.

As a team, we delved into understanding each other's strengths and areas for improvement. As a software engineer, I took on the additional responsibility of exploring and implementing the latest technologies, focusing on Next.js 13 and server-side rendering techniques.

The initial client meeting was a crucial step. We asked pertinent questions about the product, which led to a clear understanding of the client's needs and expectations.

In the sprint planning phase, we agreed on a high-level vision for the product and defined the primary features for the Minimum Viable Product (MVP). My role was significant in creating wireframes and identifying the technology stack, with Next.js as the key component for server-side rendering. We each created development task tickets with GitHub Projects to guide our work.

The project setup phase involved initializing our full-stack application, setting up the testing framework, and establishing continuous integration and deployment. I played a key role in this process, particularly in setting up Next.js and learning the server-side rendering method that doesn't require server-side props.

We then presented our project proposal to the client, incorporating their feedback, setting expectations, and agreeing on the acceptance criteria for the final product. This meeting resulted in a clearly defined goal, scope of work, and wireframes. We received the feedback to emphasize the mobile-first approach, and make sure everything works.

My specific goals for the project are to develop the Studio Class Metrics View and User Schedule Page. For User Schedule Management, I need to ensure that users can interact with their schedules in various ways and receive notifications for upcoming classes. For Studio Performance Metrics, I need to create a dashboard where studio owners can view key metrics in visually engaging formats. The metrics must be real-time and/or regularly updated for accuracy and the studio owners may be receive notifications for abnormal metrics.

It's been a productive period, and I'm eager to tackle the next stages of the project. The challenges and learning opportunities are exciting as we strive to deliver an excellent product.

@danny-avila
Copy link
Author

danny-avila commented Jul 7, 2023

Testing

This journal showcases all current tests for the main parts of code I've written for this project
image

This shows all of the test suites the entire team contributed
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment