{"id":25120088,"url":"https://github.com/flyingotta/onlinestatcalculator-springbootmvc-js-java","last_synced_at":"2026-05-09T04:33:02.738Z","repository":{"id":266208497,"uuid":"872744387","full_name":"FlyingOtta/OnlineStatCalculator-SpringBootMVC-Js-Java","owner":"FlyingOtta","description":"Built online statistics calculator (lin regression, mean etc.) using Java, JS, HTML, and Spring Boot's MVC framework. Build processes and dependencies handled by Maven. Thymeleaf templating engine as view layer, Spring controllers to handle HTTP requests. This inlcluded 100% code coverage unit testing and E2E testing using Junit and Playwright.","archived":false,"fork":false,"pushed_at":"2025-02-03T00:05:58.000Z","size":326,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-03T01:18:51.609Z","etag":null,"topics":["e2e-testing","integration-testing","java","javascript","junit-jupiter","maven-pom","playwright-tests","spring-mvc","thymeleaf-template-engine","unit-testing"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FlyingOtta.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-15T02:04:32.000Z","updated_at":"2025-02-03T00:06:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"f9db716e-1719-4525-bd75-0dde6972b105","html_url":"https://github.com/FlyingOtta/OnlineStatCalculator-SpringBootMVC-Js-Java","commit_stats":null,"previous_names":["flyingotta/swe-3643-project","flyingotta/onlinestatcalculator-springbootmvc-js-java"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlyingOtta%2FOnlineStatCalculator-SpringBootMVC-Js-Java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlyingOtta%2FOnlineStatCalculator-SpringBootMVC-Js-Java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlyingOtta%2FOnlineStatCalculator-SpringBootMVC-Js-Java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlyingOtta%2FOnlineStatCalculator-SpringBootMVC-Js-Java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FlyingOtta","download_url":"https://codeload.github.com/FlyingOtta/OnlineStatCalculator-SpringBootMVC-Js-Java/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246828477,"owners_count":20840474,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["e2e-testing","integration-testing","java","javascript","junit-jupiter","maven-pom","playwright-tests","spring-mvc","thymeleaf-template-engine","unit-testing"],"created_at":"2025-02-08T05:19:09.675Z","updated_at":"2026-05-09T04:33:02.709Z","avatar_url":"https://github.com/FlyingOtta.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Online Statistics Calculator\n\n## Overview\nThis repository hosts the **Online Statistics Calculator**, a Java-based web application built with **Spring Boot** following the **MVC (Model-View-Controller)** pattern. It leverages **Maven** for dependency management and build automation. 100% code coverage testing is achieved by using **JUnit** for unit and integration tests, and **Playwright** for cross-browser end-to-end testing. \n\nBelow, you will find details about the project’s architecture, along with instructions to set up, run, and test the application.\n\n### Architectural Diagram\n![Architectural Diagram](ProjectPhotos/UMLclass.png)\n\n---\n\n## Building and Running the Application\n\n### Prerequisites\nEnsure you have the following dependencies installed:\n- **Java** (version 21 or newer)\n  - Download from: [Oracle JDK  21](https://www.oracle.com/java/technologies/javase/jdk21-archive-downloads.html) or an open-source option\n- **Maven** (version 3.8 or newer)\n  - Download from: [Apache Maven](https://maven.apache.org/download.cgi)\n- **Node.js** (for Playwright tests)\n  - Download from: [Node.js](https://nodejs.org/)\n- **Junit-Jupiter (5.9.3 or newer)** (for Unit testing)\n  - Download from: [JUnit](https://junit.org/)\n- **IDE of your choice** (JetBrains IntelliJ IDEA recommended)\n  - Download from: [IntelliJ IDEA](https://www.jetbrains.com/idea/download/)\n\n### Steps to Build and Run Application\n1. (Terminal) Clone the repository:\n   ```bash\n   git clone https://github.com/FlyingOtta/SWE-3643-Project.git\n\n2. (Terminal) Navigate to the project directory:\n   ```bash\n   cd SWE-3643-Project\n   \n3. (Terminal) Verify Java installation \u0026 access\n   ```bash\n   java -version\n\n4. (Terminal) Verify Node.js installation \u0026 access\n   ```bash\n   node -v\n   \n5. (Terminal) Verify npm installation and access\n   ```bash\n   npm -v\n\n6. (Terminal) Verify Maven installation \u0026 access\n   ```bash\n   mvn -version\n   \n7. (Terminal) Install Playwright dependencies using npm\n   ```bash\n   npm install @playwright/test\n   \n8. (Terminal) Verify Playwright installation and access\n   ```\n   npx playwright --version\n   \n9. (Terminal) Download Junit-Jupiter using MVN command\n   ```bash\n   mvn dependency:copy -Dartifact=org.junit.jupiter:junit-jupiter:5.9.3 -DoutputDirectory=.\n\n10. (XML) Add the junit dependency to your xml file\n    ```XML\n    \u003cdependency\u003e\n    \u003cgroupId\u003eorg.junit.jupiter\u003c/groupId\u003e\n    \u003cartifactId\u003ejunit-jupiter\u003c/artifactId\u003e\n    \u003cversion\u003e5.9.3\u003c/version\u003e\n    \u003cscope\u003etest\u003c/scope\u003e\n    \u003c/dependency\u003e\n\n11. (Terminal) Build your project using maven. Maven will handle Spring Boot \u0026 Initializer \u0026 its dependencies\n   ```bash\n   mvn clean install\n   ```\n12. (Terminal) Run the Spring-Boot application using Maven\n   ```bash\n   mvn spring-boot:run\n```\n13. In the browser of your choice, open your browser and navigate to port 8080 to view the application\n   ```text\n   http://localhost:8080\n```\n\n### Steps to Run Testing\n\n1. (Terminal) Once you've verified the application is running, unit tests can be run by inputting:\n   ```bash\n   mvn test\n   \n2. (Terminal) E2E Playwright tests can be run by inputting:\n   ```bash\n   npx playwright test\n\n### Testing Proof / Screenshots\n\n1. All Passing Unit Tests![UnitTestsPassing](ProjectPhotos/Screenshot2024-12-01000602.png)\n2. Unit Tests Achieving 100% Coverage![UnitTesting100%Coverage](ProjectPhotos/Screenshot2024-12-01001549.png)\n3. All Passing Playwright Tests ![PlaywrightTestsPassing](ProjectPhotos/Screenshot2024-12-01002236.png)\n\n\n### (YouTube) Link to Presentation Video\n\nhttps://youtu.be/FDpYyI6cG9A\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflyingotta%2Fonlinestatcalculator-springbootmvc-js-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflyingotta%2Fonlinestatcalculator-springbootmvc-js-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflyingotta%2Fonlinestatcalculator-springbootmvc-js-java/lists"}