Appointment Planner Challenge Project (React)

Great work! I really like how you use both a red notification and an alert when a duplicate name is used. I also really like the additional formatting you use in the appointments tilelist. That makes it a little easier to understand what you are looking at.

One thing I noticed is that the ContactPicker input in your AppointmentForm component doesn’t update after each submission even though you are using the setContact hook in your AppointmentPage component. You should be able to fix that by passing in the contact state to your ContactPicker component/select input as the value.

Just finished this project. I’m still getting used to adding separating the presentational component from the container component. I also kinda forced myself to create tests first before creating the code to render each <Tile />.

I deployed the app via GitHub pages to try something new.

https://daniellabrador.github.io/codecademy-react-booked/

Thanks for the response! I didn’t notice the update issue. Thank you

Hi everyone :slight_smile:

This is my solution to the ‘Appointment Planner Challenge Project (React)’:
GitHub - GitHub - chris-larham-1983/codecademy-appointment-planner-app
Surge - https://codecademy-appointment-planner-app.surge.sh
Netlify - https://codecademy-appointment-planner-app.netlify.app

The shift from thinking in the ‘HTML - CSS - JS’ paradigm to thinking in the React paradigm has taken me a bit of getting used to, but I think I’m getting the hang of it now. My progress through the ‘Full-Stack Engineer’ course has slowed down recently while I’ve been getting used to React, but I have always enjoyed JavaScript so it’s been an enjoyable challenge.

Hope everybody else is enjoying their studies :+1:

I tested your project and it correctly refuses to add duplicate contacts to the contacts list, and it also correctly refuses to add an appointment if no contact is selected. Good job!

A minor improvement that you could make would be to convey a message to the user that informs them of the reason why the contact/appointment has not been added.