Find it here! (http://inventoryman.s3-website-us-east-1.amazonaws.com/)
Update 9/6/24: Project 2 content has been added, including additional tests with Mockito, Jest, and more configured in our Jenkinsfile! Huge thanks to my groupmate for this project, Bruna Vicente!
Update 8/26/24: InventoryMan is back on AWS - this time, using the Aurora RDS, an Elastic Beanstalk backend, and utilizing a separate EC2 instance for Jenkins deployment/Selenium + Cucumber testing.
Update 8/5/24: Project has been taken offline to avoid charges, I apologize for any inconvenience. See the Resources
section below for a similar implementation!
Full console output from Jenkins
Tests were executed on Jenkins running on an EC2 instance that pulls from this Github repository via a webhook on the main branch.
32 tests were run across 14 feature files, with 100% passing.
84% statement coverage, 88% branch coverage.
Frontend has 87% reported code coverage with A ratings in Security, Reliability, and Maintainability.
Backend has 90% reported code coverage with A ratings in Security, Reliability, and a B rating for Maintainability.
Links to the full reports:
SonarCloud InventoryMan Frontend Report
SonarCloud InventoryMan Backend Report
88% statement coverage, with 81% branch coverage.
Video Recording on Google Drive
10 samples were taken, with an average response time of 45 milliseconds and 0% errors.
- End-to-end testing with Cucumber, Selenium, Jest, Mockito, SonarCloud, and more
- Full-stack application made with SpringBoot, PostgreSQL, and React
- CRUD functionality for managing warehouses and inventory
- Bootstrap UI with card layout for improved readability
- Sorting and filtering for easy navigation
- Logic to prevent reaching over-capacity in warehouses
- Input validation for forms
- Pre-computed utilization percentage for each warehouse
- Responsive design for mobile and desktop
- Amazon Aurora postgres-compatable database hosted on AWS RDS
- SpringBoot application hosted on Elastic Beanstalk
- React front-end hosted on AWS S3
- Jenkins CI/CD pipeline hosted on Amazon EC2
- Clone the repository
- Generate
launch.json
in the.vscode
folder- Database credentials not provided - bring your own!
- Test database was created with PGAdmin4
application.properties
will also need to be edited to match the location of your DB- Run the SpringBoot application via command line or an IDE's SpringBoot runner
- Run the React front-end using
npm start
from within thefrontend
folder - Open your browser of choice and navigate to
localhost:3000
backend
contains the SpringBoot applicationfrontend
contains the React front-end
- For getting the initial CRUD functionality set up between the database and backend, this was a great resource: Spring Boot + React CRUD Example
- For getting the front-end to communicate with the back-end, this was a great resource: React Axios Tutorial
- I really used a bunch of Bootstrap components, but this was a great resource for getting the cards to look nice: Bootstrap Card Layout
- Bonus for the loading bar I used for a utilization visualization: Bootstrap Progress Bar
- I couldn't have gotten the project up and running on AWS without this guide: Deploy Full Stack Application (Spring-Boot+MySQL+React) to AWS(EC2, RDS, S3)
- This was also super helpful for my initial setup on RDS: Creating an RDS PostgreSQL Database on the AWS Free Tier
- General thanks to all of StackOverflow, all the time, forever.
- And of course, all of the instruction from Caroline and Erica during the lead-up to this project was invaluable! Thank you both!