{"id":18604432,"url":"https://github.com/samuellucas97/admin-ci-cd","last_synced_at":"2026-04-17T11:31:34.855Z","repository":{"id":70064604,"uuid":"398112659","full_name":"Samuellucas97/Admin-CI-CD","owner":"Samuellucas97","description":"Continuous Delivery pipeline executed by GitLab CI/CD in https://gitlab.com/Samuellucas97/Admin-CI-CD","archived":false,"fork":false,"pushed_at":"2022-10-23T03:34:36.000Z","size":13188,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-16T19:09:25.003Z","etag":null,"topics":["assertj","cucumber-java","docker-compose","flyway","gitlab-ci","h2","heroku-app","junit5","mysql","selenium-webdriver","spring-boot"],"latest_commit_sha":null,"homepage":"https://admin-lte2.herokuapp.com","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Samuellucas97.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"MIT-LICENSE.MD","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,"zenodo":null}},"created_at":"2021-08-20T00:46:34.000Z","updated_at":"2025-04-11T03:44:35.000Z","dependencies_parsed_at":"2023-02-21T19:00:58.593Z","dependency_job_id":null,"html_url":"https://github.com/Samuellucas97/Admin-CI-CD","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Samuellucas97/Admin-CI-CD","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samuellucas97%2FAdmin-CI-CD","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samuellucas97%2FAdmin-CI-CD/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samuellucas97%2FAdmin-CI-CD/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samuellucas97%2FAdmin-CI-CD/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Samuellucas97","download_url":"https://codeload.github.com/Samuellucas97/Admin-CI-CD/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samuellucas97%2FAdmin-CI-CD/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31927687,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T10:35:34.458Z","status":"ssl_error","status_checked_at":"2026-04-17T10:35:09.472Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["assertj","cucumber-java","docker-compose","flyway","gitlab-ci","h2","heroku-app","junit5","mysql","selenium-webdriver","spring-boot"],"created_at":"2024-11-07T02:17:47.162Z","updated_at":"2026-04-17T11:31:34.850Z","avatar_url":"https://github.com/Samuellucas97.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"    \nThis repository contains a web application implemented with Spring Framework (Java). The application is a CRUD of an admin system available in [spring-boot-adminlte](https://github.com/hendisantika/spring-boot-adminlte) project.  \n\nWe use GitLab CI/CD \u0026 Heroku to execute the continuous delivery pipeline. You can found the GitLab version of this project here:  [https://gitlab.com/Samuellucas97/Admin-CI-CD](https://gitlab.com/Samuellucas97/Admin-CI-CD).\n\nApp deployed:\n- `Staging mode`: [https://admin-lte2-staging.herokuapp.com](https://admin-lte2-staging.herokuapp.com)\n- `Production mode`: [https://admin-lte2.herokuapp.com](https://admin-lte2.herokuapp.com)\n\n\n\n### Content\n- [Prerequisites](#prerequisites)\n- [How to Install and to Run](#how-to-install-and-to-run)\n  - [Running database service with Docker compose (_optional_)](#running-database-service-with-docker-compose-optional)\n  - [Running application](#running-application)\n- [Available Pages](#available-pages)\n- [GitLab CI/CD \u0026 Heroku](#gitlab-cicd--heroku)\n\n\n## Prerequisites\n\n- Java (version 11)\n- Postgres database service\n- Docker compose (_optional_)\n- Maven\n- Google Chrome\n\n## How to Install and to Run\n\nIn your computer, run the following commands to clone in your local machine:\n\n```\n$ git clone https://github.com/Samuellucas97/Admin-CI-CD  \n$ cd Admin-CI-CD\n```\nAfter this, we need to start database service. We will use Docker technology to do this. But you can use whatever database service you want.\nOtherwise, **it's very important to have the same configuration used in `application.yaml`.**\n\nWe are setting the file `src/main/resource/application.yaml` as following:\n\n- Database name: `spring_adminlte`\n- Database user: `sa`\n- Database password: `root`\n\n### Running database service with Docker compose (_optional_)\n\nSince you have installed Docker compose, just execute the following instruction at terminal:\n\n```\n$ docker-compose up -d\n```\n\nIt will be generated a database service container according `docker-compose.yaml`.\n\n\n\n### Running application\n\nSince you have a database running in you local machine, you have the following set of available commands:\n\n|                Command               |              Information             |\n|:------------------------------------:|:------------------------------------:|\n| To run the application  on port 8080 |          `mvn spring-boot:run`         |\n|      To generate project's build     |    `mvn clean package`    |\n|  To run end-to-end test (headless mode activated) | `mvn test` |\n|  To run end-to-end test (with graphic interface activated) | `HEADLESS=false mvn test` |\n| To run tests and generate HTML test report  (available in `target/site/surefire-report.html`)| `mvn surefire-report:report site -DgenerateReports=false` |\n| To run end-to-end test on staging environment | `SPRING_PROFILES_ACTIVE='staging' HOST='\u003cprotocol\u003e\u003cyour host\u003e' mvn clean test` |\n\nIf the application is running, you will have only this user registered:\n\n- ***username***: `admin`\n- ***password***: `1234`\n\n## Available Pages\n\n| Title Page |                URL               |              Screenshots             |\n|:------------------------------------:|:------------------------------------:|:------------------------------------:|\n| Login | http://localhost:8080/login |          ![Login Page](img/login.png \"Login Page\")         |\n| Dashboard | http://localhost:8080/ |          ![Dashboard Page](img/dashboard.png \"Dashboard Page\")        |\n| Add Customer | http://localhost:8080/login |          ![Add Customer Page](img/add.png \"Add Customer Page\")        |\n| List of Customers | http://localhost:8080/login |          ![List Page](img/list2.png \"List Page\")        |\n\n\n## GitLab CI/CD \u0026 Heroku\n\nIf you have cloned this repository, and you would like to execute the pipeline available on `.gitlab-ci.yaml`, you have: \n\n1. access the Heroku platform\n2. create two new Heroku app (staging app and production app)\n3. add Postgres as add-on\n4. get Heroku API Key from your account\n5. access GitLab.com platform\n6. create a new project\n7. choose the option`Run CI/CD for external repository`\n8. import from GitHub \n   1. For this, you will need connect your GitHub account with your GitLab account\n9. Create new variables in `Setting -\u003e CI/CD`\n   1. name: HEROKU_APP_STAGING; value: `\u003cname of your staging app\u003e`\n   2. name: HEROKU_APP_PRODUCTION; value: `\u003cname of your production app\u003e`\n   3. name: HEROKU_API_KEY; value: `\u003cheroku api key\u003e`\n\n\nWith the pipeline result is ok, then try to access your site in [https://\u003cHEROKU_APP_PRODUCTION\u003e.herokuapp.com]() ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamuellucas97%2Fadmin-ci-cd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamuellucas97%2Fadmin-ci-cd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamuellucas97%2Fadmin-ci-cd/lists"}