Skip to content

Latest commit

 

History

History
93 lines (65 loc) · 4 KB

README.md

File metadata and controls

93 lines (65 loc) · 4 KB

Monstera

An online plant watering tracker that implements a log in and sign up feature that allows you to either sign in as a member. Non-member has the ability to browse our comprehensive plant dictionary to better understand their plant’s needs. Member will have access to the ability to add plant to their own library and set up water reminder depending on each plant’s watering period.

Authors

Jennifer McNiel - Developer
Yadira Cervantes - Developer
Luke Cheng - Developer

Project Requirements

1. Separates all database/business logic using the MVC pattern.

  • All HTML files are under the views folder and we implemented fat-free include block to include the footer, header and nav-bar.
  • index.php calls function in Controller to get data from the model and return views.
  • Routes to all the HTML files are under index.php
  • Databases and validations are under the model folder
  • Classes (indoor-plant, outdoor-plant, plant, member, plant-image) are under the classes folder
  • All images as in our Image folder
  • Styles folder holds all our code that is responsible for the page styling.
  • Script folder holds all our code that is responsible for validating forms and requesting data from API.

2. Routes all URLs and leverages a templating language using the Fat-Free framework.

  • All routes are in the index.php and are utilizing our controller class

3. Has a clearly defined database layer using PDO and prepared statements.

  • Our data layer is under the model folder and incorporates PDO and has various prepared statements.

4. Data can be added and viewed.

  • Database layer uses PDO and prepared statements to insert and get from the database. This can be seen at the plant library page which stores each user’s plant and its information.

5. Has a history of commits from all team members to a Git repository. Commits are clearly commented.

  • Each teammate (Jennifer, Yadira, and Luke) have multiple commits that are well-commented in the Git repository.

6. Uses OOP, and utilizes multiple classes, including at least one inheritance relationship.

  • For this Project, we utilized five classes: indoor-plant, outdoor-plant, member, plant, and plant-image
  • indoor-plant extends plant and contains adoption date
  • outdoor-plant extends plant and contains planted date and location
  • member contains user name, email, password and user id
  • plant contains member id, plant name, species name, water period, water date, files, and plant id
  • plant-image contains image id, plant id, and path

7. Contains full DocBlocks for all PHP files and follows PEAR standards.

  • Yes, all files include DocBlocks and follow PEAR standards. This can be seen all throughout our code.

8. Has full validation on the server side through PHP.

  • User sign-up and log-in and add plant form are all validated with PHP and Javascript utilizing the validation file under the model script folder.

9. All code is clean, clear, and well-commented. DRY (Don't Repeat Yourself) is practiced.

  • True

10. Your submission shows adequate effort for a final project in a full-stack web development course.

  • We have learned a lot throughout this quarter about fullstack web development, especially using MVC architecture, PHP, and Git. We have applied these new skills to our project, making it better and improving our understanding of fullstack development.

UML Class Diagram

UML Class diagram

ER Database Diagram

ER Database diagram

Github Commit breakdown

Github commit breakdown