Chanda Abdul
While enrolled in Thinkful's Web Development bootcamp I created this Full-stack Capstone project. Bloom is an interactive web application that was created to view and manage your plant collection. This app was created so that you can view all of your plants, and keep track of thier care and maintenance.
Link to the Client Repo
- React
- Router
- Context
- Axios
- Libraries
- Sweet Alerts
- HTML
- CSS
- Vercel(Zeit)
- Node.js
- Express
- Knex
- Mocha, Chai & Supertest
- Morgan, CORS, Helmet
- PostgreSQL
- Elephant SQL
- Heroku
-
Bloom's back-end consists of an API server that was created with Node.js, Express, Knex, and PostgreSQL
-
Bloom's API service consists of
/GET
/DELETE
/POST
and/PATCH
endpoints -
The API was created locally and deployed to heroku. The deployed API can be accessed through heroku here.
The user can access the /GET
endpoint through the client by visiting the /view
page and all plants will be displayed. The /GET
endpoint can also be accessed at /plants
on the back-end through the heroku server at https://polar-sierra-05851.herokuapp.com/plants.
The /GET/:id
endpoint can be accessed at /plants/:id
on the back-end through the heroku server at https://polar-sierra-05851.herokuapp.com/plants/:id.
The /DELETE
endpoint is used to delete specific plants by id. The user can access the /DELETE
endpoint through the client by visiting the /view
page and selecting the Delete button next to the plant that they would like to delete. The /DELETE
endpoint can also be accessed at /plants
on the back-end through the heroku server at https://polar-sierra-05851.herokuapp.com/plants.
The user can access the /POST
endpoint through the client by visiting the /add
page and filling out the form then selecting the Add plant! button. The /POST
endpoint can also be accessed at /plants
on the back-end through the heroku server at https://polar-sierra-05851.herokuapp.com/plants.
The /PATCH/:id
is used to update specifc plants by id and the endpoint can be accessed at /plants/:id
on the back-end through the heroku server at https://polar-sierra-05851.herokuapp.com/plants/:id. -->
-
The database creation scripts can be found at
/migrations
-
The database is initially seeded with data that can be found at
/scripts/seeds
-
All tables are hosted remotely on ElephantSQL and can be accessed here
-
The PostgreSQL database consists of four tables
- light_conditions
- maintenance
- water_level
- plant_information
- The tables share relations and can be joined with the PostgreSQL query of
SELECT pi.plant_name, pi.scientific_name, pi.plant_type, pi.details, ma.maintenance, wl.water, lc.light, pi.image_url
FROM plant_information AS pi
INNER JOIN maintenance AS ma ON pi.maintenance_level = ma.id
INNER JOIN water_level AS wl ON pi.water_requirements = wl.id
INNER JOIN light_conditions AS lc ON pi.light_conditions = lc.id;
- Incorporate the
/PATCH
endpoint into the client.