z-korp / zkube

Dojo game - Tetris like
https://zkube.vercel.app
MIT License
7 stars 17 forks source link

Implement a Generic Profile Page with Achievements and Stats #23

Closed ClanCo closed 2 months ago

ClanCo commented 3 months ago

Description

We need to add a new generic profile page to our application using the Shadcn component library. This profile page should include sections for user achievements and game statistics (such as the number of games played, average points per game, total points, etc.). Additionally, users should be able to filter their statistics by season. The profile page should be designed in a way that allows for easy customization in the future.

While we provide an example layout for inspiration, developers are encouraged to use their creativity and imagination as long as the final design is visually coherent and consistent with the rest of the application's design language.

Tasks

  1. Set Up Profile Page Structure:

    • Create a new ProfilePage component in the pages directory.
    • Use Shadcn components to ensure the design aligns with our existing UI framework.
  2. Achievements Section:

    • Add a section to display user achievements.
    • Utilize Shadcn cards or similar components to showcase each achievement.
    • Ensure this section is responsive and visually consistent with the rest of the page.
  3. Statistics Section:

    • Add a section to display various game stats.
    • Display key statistics such as:
      • Number of games played
      • Average points per game
      • Total points
      • Total wins
    • Implement a dropdown or tab system using Shadcn components to allow users to filter stats by season.
  4. Filtering and Sorting:

    • Implement filtering and sorting mechanisms for the stats section.
    • Allow sorting by various criteria like date, points, or number of games.
    • Ensure filtering by season works seamlessly and updates the stats in real time.
  5. Responsive Design:

    • Ensure the entire profile page is responsive and works well on different screen sizes.
    • Test the layout on mobile, tablet, and desktop views.
  6. Customizability:

    • Design the page structure to allow for easy future customizations.
    • Ensure that additional sections or features can be added with minimal changes to the existing codebase.
  7. Testing:

    • Write unit tests for the new ProfilePage component and its sub-components.
    • Ensure all functionalities like filtering, sorting, and stats display are covered in the tests.
  8. Documentation:

    • Update the project’s documentation to include details about the new profile page.
    • Add instructions on how to extend or customize the page in the future.

Acceptance Criteria

Stats

estherbreath commented 3 months ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

@ClanCo I would like to work on this issue, please

These are the steps I will take in solving this issue • Sections: Divide the page into two main sections: one for user achievements and another for game statistics. Use Shadcn cards for achievements and incorporate interactive elements for statistics. • Interactivity: Implement filtering and sorting functionalities for game statistics, allowing users to view stats by season and sort them based on various criteria. • Responsiveness: Ensure the design is responsive across all devices by leveraging Shadcn's responsive utilities. • Customization: Design the page with modularity in mind, allowing for easy future enhancements. • Testing & Documentation: Write unit tests covering the functionality of the profile page and update the project documentation to guide future customizations.

Cheelax commented 3 months ago

Hi everyone. There is a new process for the ODHack, now you must apply to the tasks directly from Onlydust: https://app.onlydust.com/hackathons/odhack-70 We will only look at application made via this process.

ooochoche commented 3 months ago

@ClanCo can I work on this

onlydustapp[bot] commented 3 months ago

Hi @ooochoche! Maintainers during the ODHack # 7.0 will be tracking applications via OnlyDust. Therefore, in order for you to have a chance at being assigned to this issue, please apply directly here, or else your application may not be considered.

Iwueseiter commented 3 months ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

Hi can work on this? I'm a frontend and smart contract developer and I'd tackle the task as expected within 2 working days.

How I plan on tackling this issue

Here is how I intend to tackle the issue; I'd set up a profile page component. then add a section to display user achievements. I'd also add a section to display various game stats. I would work on the filtering and sorting, ensure the design is responsive, and easy for customization. I'd test and also get the documentation done. I'd also make sure everything is working as expected.

ooochoche commented 3 months ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I am a frontend and a web3 developer

How I plan on tackling this issue

i will approach this by:

raizo07 commented 3 months ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I'll like to be assigned to work on this.

LukePereyra commented 3 months ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

hey team, I will like to work on this one! I already have experience Shadcn library and React. I'm a Frontend Engineer doing my firsts steps in web3.

How I plan on tackling this issue

the tasks are self-descriptive, I will follow it as expected.

ShantelPeters commented 3 months ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

To answer the application form question, you can emphasize your experience as a frontend developer with expertise in JavaScript and UI frameworks, and how it relates to the tasks outlined in the job description. Here’s a tailored response:


As a frontend developer with strong experience in JavaScript and UI component libraries like Shadcn, I am well-prepared to tackle the challenge of building a new generic profile page for your application. My background includes working on complex UI structures, implementing responsive designs, and ensuring seamless integration with existing frameworks, all of which are essential for this project.

Relevant Experience:

  1. Proficiency in JavaScript: My expertise in JavaScript enables me to efficiently create interactive and dynamic features such as filtering, sorting, and real-time updates, which are crucial for the statistics section of the profile page. I am comfortable using modern JavaScript frameworks and libraries to enhance user experience and performance.

  2. Experience with UI Component Libraries: I have worked extensively with component libraries similar to Shadcn, where I’ve designed and implemented various UI components such as cards, dropdowns, and tabs. My experience allows me to create visually consistent and reusable components that align with the overall design language of the application.

  3. Responsive Design: Ensuring that web pages are responsive and work well across all devices is a key aspect of my work. I have successfully delivered projects where responsive design was a critical requirement, ensuring a smooth user experience on mobile, tablet, and desktop devices.

  4. Customizability and Future-Proofing: I understand the importance of designing flexible and easily customizable components. My approach to building the ProfilePage would involve creating a structure that can be easily extended in the future, allowing for additional features or sections to be added with minimal code changes.

  5. Testing and Documentation: I am thorough in writing unit tests to cover all functionalities, ensuring that the ProfilePage and its components are robust and reliable. Additionally, I prioritize clear documentation to guide future developers in extending or customizing the page.

How My Background Will Be Leveraged:

My combination of technical skills, experience in UI design, and commitment to delivering high-quality, responsive, and customizable solutions make me a strong candidate to contribute effectively to your team and successfully build the new profile page.

How I plan on tackling this issue

To approach the task of creating a new generic profile page using the Shadcn component library, I would break down the problem into clear, manageable steps, focusing on structure, functionality, design consistency, and future-proofing. Here's how I would approach it:

1. Understanding the Requirements

2. Set Up the Profile Page Structure

3. Implement the Achievements Section

4. Implement the Statistics Section

5. Ensure Responsive Design

6. Design for Future Customizations

7. Testing

8. Documentation

9. Final Review and Deployment

carldouch commented 3 months ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

Hey, I'm a frontend developer with a strong background in backend development, particularly in Java. After building solid backend systems, I transitioned to frontend work, focusing on creating user-friendly interfaces, seamless user experiences, and experimenting with 3D using Three.js. This combination of skills allows me to have a comprehensive understanding of the full stack, ensuring my frontend work is well-integrated with the backend.

How I plan on tackling this issue

To tackle this task, I'll start by setting up the basic structure of the ProfilePage using Shadcn components, ensuring it aligns with the existing UI. I'll create distinct sections for achievements and game statistics, utilizing cards for achievements and implementing filtering and sorting mechanisms for stats by season. The design will be fully responsive across devices. I'll write unit tests to ensure all functionalities work as expected and document the process for easy future customizations. This approach ensures a clean, maintainable, and flexible solution.

ScottyDavies commented 3 months ago

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

As a frontend developer, I have experience building responsive and user-friendly web applications using modern JavaScript frameworks like React, Next.js, and Vue.js. I'm proficient in working with component-based architectures and UI libraries, which will be highly beneficial for this project.

How I plan on tackling this issue

To approach this problem, I would follow these steps:

Set up the ProfilePage component: Create a new ProfilePage component in the pages directory. Import and use the necessary Shadcn components to ensure the design aligns with the existing UI framework. Implement the Achievements Section: Add a section to display the user's achievements. Utilize Shadcn cards or similar components to showcase each achievement. Ensure the section is responsive and visually consistent with the rest of the page. Implement the Statistics Section: Add a section to display the user's game statistics. Display the key statistics like number of games played, average points per game, total points, and total wins. Implement a dropdown or tab system using Shadcn components to allow users to filter stats by season. Implement Filtering and Sorting: Implement filtering and sorting mechanisms for the stats section. Allow sorting by various criteria like date, points, or number of games. Ensure filtering by season works seamlessly and updates the stats in real time. Ensure Responsive Design: Ensure the entire profile page is responsive and works well on different screen sizes. Test the layout on mobile, tablet, and desktop views. Design for Customizability: Design the page structure to allow for easy future customizations. Ensure that additional sections or features can be added with minimal changes to the existing codebase. Write Tests: Write unit tests for the new ProfilePage component and its sub-components. Ensure all functionalities like filtering, sorting, and stats display are covered in the tests. Document the Changes: Update the project's documentation to include details about the new profile page. Add instructions on how to extend or customize the page in the future.

onlydustapp[bot] commented 3 months ago

The maintainer Cheelax has assigned carldouch to this issue via OnlyDust Platform. Good luck!