Any feedback welcome :)
Built with- Semantic HTML5 markup
- SCSS
- Flexbox
- Mobile-first workflow
- React
- TypeScript
- Vite
- React Hook Form
- React Select
- Bootstrap
- React Hot Toast
- Node.js
- Express.js
- MongoDB
Any feedback welcome :)
Built withI just finished my solution if you want you can take a look at mine solution maybe it can help you in some way! Have a good day.
I just finished my solution if you want you can take a look at mine solution maybe it can help you in some way! Have a good day.
The project provided an excellent opportunity to leverage Next.js API routes not only for managing the endpoints required to perform CRUD operations but also for implementing the business logic that governs these operations. The database service utilized was Neon, which is powered by PostgreSQL. In addition to user authentication, I also chose to provide the option to create a new profile with a demo database, making it easier for interested parties to explore all the application's features. I am open to any suggestions and constructive feedback.
What challenges did you encounter, and how did you overcome them?This was the first project where I used Tailwind CSS for styling. At first, I found it a bit challenging, but I eventually adapted well to the framework. For the first time, I managed to move away from Stitches and Styled Components.
I just finished my solution if you want you can take a look at mine solution maybe it can help you in some way! Have a good day.
I'm proud of successfully integrating Firebase into my app. It enabled me to add user authentication and real-time database features, which I had never done before. This is the first project where I’ve built something dynamic like this, and seeing it work felt like a big accomplishment.
Next time, I’d focus more on getting the structure right from the beginning instead of rushing through certain parts. I ran into some bigger issues down the line (such as hydration errors) that would’ve been much easier to solve if I had taken the time to lay the groundwork properly at the start. It would’ve saved me a lot of trouble and kept the project moving more smoothly.
What challenges did you encounter, and how did you overcome them?Firebase Issues: One of the toughest challenges I faced was figuring out how to effectively pass data between components. Retrieving data from Firebase was already tricky, but the real challenge came when I needed to pass that data through multiple components—especially when they were related but not directly connected. It took a lot of trial and error, digging through documentation, and making good use of developer tools like Copilot, but eventually, I figured out how to get everything working smoothly.
Hydration Issues: Hydration errors were another major challenge. These occur when the HTML rendered on the server doesn’t match what the client-side JavaScript expects, often causing the app to crash. It’s a common issue with web frameworks, as I’ve now learned the hard way.
I noticed the app ran more smoothly in incognito mode, which led me to realize that one of my browser extensions was causing part of the problem. Additionally, working with Chakra UI introduced its own set of issues—a configuration problem with the theme setup in the root file was also contributing to the crashes. Looking back, I wish I had tackled these problems earlier in development, as they became more difficult to resolve later on.
What specific areas of your project would you like help with?If you would like to test the application with pre-filled data, the user credentials are:
demo@finance.com
frontend
I’d like some feedback on the overall structure of the code in my project. Does it follow good architectural practices? Are there areas where I could improve? Any suggestions to make it cleaner and easier to work with in the long run would be greatly appreciated.
I’d also love some feedback on how I’ve used Remix. Early on, I didn’t take the time to fully understand all its features, like using loaders for server-side rendering and boosting app performance. My app works fine without them, but I’m wondering if adding them would have made a noticeable difference in terms of efficiency or scalability. Do you think incorporating them would have been worth the effort?
I just finished my solution if you want you can take a look at mine solution maybe it can help you in some way! Have a good day.
I just finished my solution if you want you can take a look at mine solution maybe it can help you in some way! Have a good day.
all my works.
What challenges did you encounter, and how did you overcome them?nothing for now
What specific areas of your project would you like help with?responsiveness
Hey Akrem Muktar great job of solution, try to add this in style.css to body body { min-height: 100vh; } it will center Y the main
I got to know about how to make responsive layouts. My biggest learning is that to work on any module , you must have the clear idea about its basic structure like placing and clubbing different components in suitable container. To achieve responsiveness i will do it from the start of building. Dividing and Placing components according to design is most important . I will try to have appropriate name for properties like class and id.
What challenges did you encounter, and how did you overcome them?The most thrilling challenge was achieving a responsive layout. I took help from ChatGPT, but I still need to refine it further. Another challenge was implementing the active state of an element, where I had to place one image on top of another with a slight change in background color. Additionally, the second background image needed to fade out smoothly.
What specific areas of your project would you like help with?I would like to have help about making Responsive layouts. Also about basics animation.
Hi utkarshanik, i like to give you some feedback about your challenge.
General Layout Consistency in Units: You mix vh, vw, %, and px. While it's acceptable in some cases, try to stick with consistent units (e.g., % for responsive widths or em for padding/margins) to simplify maintenance and ensure consistency. Flexbox Usage: You use flexbox but without proper justification. Add justify-content or align-items where necessary for better alignment control.
Responsive Design Breakpoints: You define breakpoints for mobile (max-width: 600px) and large screens (min-width: 1024px), but there’s no middle ground for tablets or medium screens. Add a breakpoint (e.g., @media (min-width: 600px) and (max-width: 1024px)) to ensure better responsiveness across devices. Scaling Fonts and Sizes: Consider using clamp() or calc() for fluid typography and sizes that adapt seamlessly between breakpoints.
CSS Structure Separation of Concerns: Consider separating your responsive styles into a different section or file for better readability and organization. Variable Usage: Replace hardcoded colors (e.g., hwb(240 56% 29%)) with CSS variables to centralize and simplify updates. Example: :root { --primary-color: hwb(240 56% 29%); --background-color: hsl(215.63deg 55.17% 11.37%); }
.container2 { color: var(--primary-color); } Utility Classes: Instead of defining hover effects and animations inline, consider creating reusable utility classes for these interactions.
Hover and Animation Transitions: You use transition: color 0.3s ease for h3:hover. Extend this practice to other hover interactions (e.g., .image:hover). Animation Timing: Avoid using opacity: 1.5 in .image:hover .img2. Opacity values range from 0 to 1. Fix to a valid value and use transition for smoother effects.
Accessibility Focus States: Include focus styles for better keyboard navigation and accessibility. For example: h3:focus { outline: 2px dashed aqua; } Contrast Ratios: Ensure your color combinations meet accessibility standards for text visibility, especially color: azure against some background colors.
Performance Optimization Image Optimization: Use object-fit: cover consistently for images (#img1) to ensure proper aspect ratio maintenance across screen sizes. Lazy Loading: Consider using loading="lazy" for images in HTML to defer loading until they are in the viewport.
Code Readability Comments: Add comments to clarify the purpose of specific styles, especially custom or non-standard practices. Unused Code: Remove commented-out styles like overflow: hidden if they are no longer relevant.
Scalable Architecture BEM Methodology: Consider using the Block-Element-Modifier (BEM) naming convention for class names. For example: .container1 => .container .image => .container__image .img2 => .container__image-hover
Future-Proofing CSS Grid: For complex layouts, consider using CSS Grid alongside Flexbox for more precise control. Dark Mode Support: Add a strategy for dark mode by defining alternate color variables in a @media (prefers-color-scheme: dark) block.
I am most proud of successfully bringing my ideas to life using CSS and HTML. This project allowed me to demonstrate creativity and a deeper understanding of web design principles. I especially enjoyed experimenting with layouts, colors, and animations to create an engaging user experience.
What I Would Do Differently Next Time Next time, I would focus more on planning and structuring my code to make it more organized and reusable. I’d consider using CSS preprocessors like SASS for better styling management and include responsive design principles to ensure the project looks great on all devices. Additionally, I’d seek feedback earlier in the process to refine the design iteratively.
What challenges did you encounter, and how did you overcome them?I did not encounter any problems during this challenge
What specific areas of your project would you like help with?for noww i would like to know how to write better CSS code
Hi Emmanuel Bwire, i like to give to some feedback about "for noww i would like to know how to write better CSS code"
Specificity and Redundancy Remove unused rules: Eliminate unnecessary styles like margin: 0px auto; if they don’t impact the design. Avoid property duplication: Replace redundant variables like --shadow if used only once, directly defining the value in box-shadow.
Readability and Consistency Use meaningful naming conventions: Adopt BEM (Block, Element, Modifier) or another system to create more scalable class names (e.g., .card__body). Add font fallbacks: Ensure a fallback font to handle potential loading issues, e.g., font-family: 'Outfit', Arial, sans-serif;.
Responsive Design Consolidate media queries: Avoid repeating media queries by grouping similar styles together. Use fluid typography: Implement clamp() for font sizes to achieve fluid scalability without multiple breakpoints, e.g., font-size: clamp(14px, 1vw, 18px);.
Accessibility and User Experience Improve color contrast: Ensure sufficient contrast between text and background to meet WCAG guidelines. Add hover and focus states: Provide visual feedback for interactive elements with :hover and :focus styles.
Layout Optimization Use CSS variables: Centralize colors, spacing, and other reusable properties using :root variables for better theming. Example: :root { --color-primary: hsl(212, 45%, 89%); --color-text: hsl(200, 15%, 20%); --spacing: 16px; }
Use Shorthand Properties Simplify your code by combining multiple properties into shorthand (e.g., padding: 16px 20px;).
Performance Minify your CSS: Use tools like CSSNano or PostCSS to reduce file size for production. Lazy-load fonts: Ensure that fonts load asynchronously to improve performance.
Clean-Up Remove unused code: Delete unused media queries and unnecessary comments to keep the file clean and maintainable.
Scalability Modularize styles: If the project grows, consider breaking CSS into smaller files organized by components or sections (e.g., card.css, layout.css).
I think I did an OK job with combining Grid and Flexbox. I would have liked to have just stuck with Grid, but I couldn't get it the way I wanted to.
What challenges did you encounter, and how did you overcome them?I tried a 12 column responsive view where the grid row and columns were identified per each "item" but that wasn't working, so I went to a grid-template-area format and found success there.
What specific areas of your project would you like help with?I would really appreciate any feedback on the CSS - I think it could be cleaner. So I'd like to see how others did this, and perhaps request your feedback on the CSS portion. Thank you in advance.
Hi Mitchell Lazore, i like to give you some feedback! Strengths HTML Structure: The HTML is clean and uses a proper <meta> viewport tag, ensuring responsiveness. The inclusion of external fonts (Bai Jamjuree and Inter) enhances typography consistency. Inline , <header>, <footer>) for better structure. 5. Performance Optimize images in the images folder for web use to reduce load times. Leverage CSS variables for reusable color definitions, such as: :root { --primary-color: hsl(171, 66%, 44%); --hover-color: hsl(171, 66%, 34%); }
.buttongreen { background-color: var(--primary-color); border-bottom: 2px solid var(--hover-color); }
I am the most proud of the fact that I was able to figure out mostly everything without the help of the internet while doing the project. I learned HTML and CSS shortly before taking on this project and I was able to remember how to format everything except for corner rounding (which I hadn't learned). Next time I would like to make it more friendly to other resolutions instead of keeping it at one fixed size the entire time. I believe it was okay for this project since the card was so small but in the future this would not work.
What challenges did you encounter, and how did you overcome them?One of the challenges that I faced was centering the "sub" div which held the subsection of my header. I went through many padding, margin, justification and alignment changes before I figured out that it was a simple naming problem. I changed my div name from to and the padding started working as I intended for it to.
What specific areas of your project would you like help with?I would like help with the div background sizing and if I am centering the divs correctly using justification and alignment. I used %s for div sizing and I am wondering if this is correct usage.
Hi michaeltran9224, i like to give you some feedback!
HTML Structure Meta Tags:
Strength: The inclusion of <meta name="viewport"> ensures the site is responsive. Improvement: Add a description meta tag for better SEO.
Typography:
Strength: Custom Google Font (Outfit) is included. Improvement: Use fallback fonts in case the primary font fails to load (e.g., font-family: 'Outfit', sans-serif).
Accessibility: Add alt attributes to all images to improve screen reader compatibility. Ensure the <title> is descriptive and relevant.
Semantics: Use semantic HTML elements like <main>, <section>, or <article> to enhance readability and accessibility.
CSS Styling Responsiveness:
Strength: The design uses percentages for dimensions, which is good for responsiveness. Improvement: Include media queries to ensure proper display on smaller screens, especially for the .container width and height.
Consistency: Use a CSS reset or normalize file to standardize styles across different browsers.
Color Palette: Strength: Consistent use of colors defined in HSL values. Improvement: Extract the color palette into CSS variables for easier management and reusability (e.g., --primary-color: hsl(218, 44%, 22%);).
Box Sizing: Include box-sizing: border-box; for all elements to simplify size calculations. General Improvements
File Organization: Consider moving style.css into a styles directory for better structure. Organize images into categories within the images folder if the project scales.
Performance: Optimize image files in the images folder to reduce load times.
Div Background Sizing Using % for Sizing: Using percentages (%) for width and height is appropriate when creating responsive layouts. Percentages are relative to the size of the parent container, which can make your layout adapt to different screen sizes.
Best Practices: Ensure the parent container has a defined size; otherwise, percentage-based sizing might behave unexpectedly. Combine % with max-width, max-height, or min-width to set constraints and prevent elements from becoming too large or too small.
Alternative Units: For sizes relative to the viewport, use vw (viewport width) and vh (viewport height). For example: width: 80vw; /* 80% of the viewport width / height: 50vh; / 50% of the viewport height */
Centering Divs with Flexbox Justification and Alignment:
When centering a div using justify-content and align-items, ensure the parent container has display: flex or display: grid set.
Example for full-page centering: display: flex; justify-content: center; /* Centers horizontally / align-items: center; / Centers vertically / height: 100vh; / Full viewport height */
Tips:
Use browser dev tools to inspect and debug the alignment. Add temporary borders (border: 1px solid red;) to visualize spacing and alignment issues. Combining Background and Centering:
If the background of the div is also important, ensure the container with the background has: Proper background-size (e.g., cover, contain) for responsiveness. Correct dimensions (e.g., width: 100%; height: 100vh; for full-page backgrounds).
I am most proud of how the multi-step form turned out, especially its responsiveness across devices. Using Vue.js for managing the state of each step and Tailwind CSS for styling allowed me to build a clean, functional, and visually appealing form. If I were to do it again, I would work on improving accessibility features, such as adding proper keyboard navigation and ARIA labels to improve usability for all users.
What challenges did you encounter, and how did you overcome them?The biggest challenge was handling image paths correctly when deploying the project to Vercel. Images were not showing up despite being correctly referenced in the local environment. After troubleshooting, I realized the issue stemmed from Vercel's handling of static assets, and I fixed it by adjusting the paths and ensuring the images were correctly included in the build process.
What specific areas of your project would you like help with?I would appreciate feedback on improving the performance of my project, especially how I handle state management in Vue.js. While Vue's reactive system works well, I'm curious if there are more efficient or optimized ways to manage data between the steps. Additionally, if anyone has suggestions for improving accessibility (keyboard navigation, ARIA labels, etc.), that would be helpful.
Hi Bilal, I would like to give you some feedback! General Improvements Component Naming: Use more descriptive names for components to enhance readability.
Example: StepOne.vue → UserDetailsStep.vue. StepsCounter.vue → ProgressIndicator.vue.
State Management: Centralize shared states using a state management library like Vuex or Pinia for better scalability and reusability. Avoid managing global states directly in the App.vue file.
Validation: Replace manual validation logic with a library like VeeValidate for consistent and scalable form validation.
Code Organization: Move utility functions (e.g., updateSelectedPlan) into a separate file (e.g., utils.js or helpers.js) to maintain clean and modular code.
Error Handling: Enhance user experience by adding visual feedback for input errors (e.g., red borders, inline error messages, or tooltips). Component-Specific Improvements
Reusability: Ensure each step component (StepOne.vue, StepTwo.vue, etc.) is modular and does not duplicate logic. Extract repetitive logic into mixins or composable functions.
Progress Indicator: Improve the StepsCounter.vue to provide a more dynamic and visually appealing user interface. Configuration and Styling
Tailwind Config: Review and optimize the tailwind.config.js file to ensure proper use of custom styles and reduce unnecessary configurations.
Accessibility: Ensure all interactive elements have proper ARIA attributes for accessibility. Use semantic HTML within components to improve screen reader compatibility. Future Enhancements
Global Error Handling: Add a global error boundary or notification system to capture and display errors gracefully.
Testing: Implement unit tests for critical components and features to ensure functionality during updates. Performance:
Optimize component rendering and lazy load steps to improve performance, especially for large forms.
I’m most proud of completing the entire project with pure JavaScript and implementing error validation for user inputs effectively. It feels great to see the app handle invalid dates and empty fields without breaking!
Next time, I would focus more on optimizing the structure of my code to make it more modular and reusable, especially by using functions more effectively.
What challenges did you encounter, and how did you overcome them?Validation Challenges: Ensuring user inputs were within valid ranges (e.g., day between 1-31). I overcame this by writing custom logic to check conditions and give feedback. Styling Dynamic Error Messages: Positioning the error messages dynamically below each input field was tricky. I resolved it by using CSS .error-text with margin and display properties. Input Behavior: Handling empty inputs and ensuring the calculator didn’t crash. I added clear checks for NaN values in JavaScript to prevent issues.
What specific areas of your project would you like help with?I’d love feedback on how I could better structure my validation logic for scalability. Suggestions for improving the UI design and making it more visually appealing are welcome! Any tips on code readability and best practices for JavaScript projects.
Hey Nelly, i like to give you some feedback.
The position of everything i also used flex box and media queries effectively
What challenges did you encounter, and how did you overcome them?i had issues with blending the image to get the desired results
What specific areas of your project would you like help with?background-blend-mode and mix-blend-mode
Hi S4V10N, I would like to give you some feedback. Areas for Improvement
This was my first project to practice HTML and CSS from scratch and it took me several days to complete. I guess I am proud that I stuck with it. I don't think I would do anything differently regarding my process.
What challenges did you encounter, and how did you overcome them?I was struggling to remember all that I've learned thus far. My biggest challenge is centering div containers. Also, when I added padding to the QR code image, I lost the left and right border radiuses. I tried to overcome the challenges by researching on the net, watching videos, etc., but no matter what I tried regarding the border radiuses, I couldn't get them to stay. I spent hours and days on this project and feel that I should have been able to complete it in an hour...I'm feeling discouraged.
What specific areas of your project would you like help with?I would like help with a few things if anyone would be kind enough: 1) Did I use the right code to center my divs? If not what was I suppose to do? 2) I know why I lost the top left and top right border radiuses, but I tried everything I could to get them back, to no avail. How could I have avoided that or at least compensated for it? 3) I tried using the Figma file but it didn't work when I uploaded it to Figma, so much of the design was guesswork. I don't understand why my fonts (which were not guesswork) did not line up like the example and the h1 700 font-weight doesn't look the same as the example. Thank you for your kindness in helping me!
Hi Margaret, I would like to give you some feedback. Areas for Improvement and Correct Approaches
Perfect Job!!! I've noticed that you're experiencing a similar issue like me with the font-family. It appears to be a bug. Do you know something about it???
I am not sure, but for some reason, the font family appears to be different. Is there a bug???