Technigo Final Project: BADA - Real-time beach water quality web app with maps & favorites#136
Open
govargas wants to merge 300 commits into
Open
Technigo Final Project: BADA - Real-time beach water quality web app with maps & favorites#136govargas wants to merge 300 commits into
govargas wants to merge 300 commits into
Conversation
On this site _redirects rules win over netlify.toml, and its /* catch-all shadowed the signed API proxy (which only netlify.toml supports). Move all routing (signed /api proxy + SPA fallback) into netlify.toml and remove _redirects so the signed rule actually fires.
Signed proxy verified working (x-nf-sign validates, hardened mode active). Remove the /api/proxy-check endpoint, the netlify.toml test paths, and the marker header.
HaV returns dissuasion as an array of objects
{description, dissuasionTypeText, startdate, type}, but the frontend
typed it as string[] and rendered each entry directly, throwing
React error Technigo#31 on any beach with an active advisory.
Type dissuasion correctly and render its fields as text, with a
guard tolerating a bare string for older/cached shapes.
Label and pill color were derived by two separate mappers (getClassificationKey + a qualityClass duplicated across BeachDetailPage and FavoritesPage), which could drift. Introduce getQualityCategory as the single source of truth and derive both the i18n label key and the KPI tone class from it, so a beach's wording and color can never disagree. deriveClassificationCode now delegates to it too.
A beach can have an active swimming advisory (dissuasion) due to observed algae while its last routine sample read 'no bloom'. The page showed both the red advisory and a green 'safe to swim' verdict from the sample, contradicting each other. Suppress the algae safety verdict when an advisory is active (swim safety is owned by the top verdict + advisory box), and add a note explaining the advisory is precautionary and stays until conditions clearly improve.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🎓 Web dev spring 2025 Final Project Submission
This is my final project for the Technigo Fullstack JavaScript Bootcamp. BADA is a web application that helps people in Sweden find safe beaches with real-time water quality data.
🎯 What I Built
A full-stack application featuring:
🚀 Key Achievements
💡 Technical Highlights
🎨 Design Decisions
📚 What I Learned
Building BADA taught me how to architect a real-world full-stack application, integrate external APIs, implement authentication, and focus on user experience and accessibility. I'm proud of the result and I'm looking forward to read your feedback!
Live Demo: https://badaweb.netlify.app/
Test Account: [email protected] / Test1234
See README.md for full documentation and setup instructions.