The application will offer a user-friendly interface to query and generate detailed population reports. It will support dynamic filtering by continent, region, country, district, and city, and allow users to specify custom parameters such as top-N populated areas. This will enhance the organisation’s ability to make data-driven decisions and produce accurate demographic insights.
The primary users are data analysts and policy advisors with moderate technical knowledge. They require flexible reporting tools and visual summaries to support strategic planning. The application will be web-based to ensure accessibility across departments, with potential for desktop deployment if needed.
- List all countries by population (global, continent, region).
- Display top-N populated countries based on user input.
- Include key details: code, name, continent, region, population, capital.
- List cities by population (global, continent, region, country, district).
- Display top-N populated cities based on user input.
- Include: name, country, district, population.
- List capital cities by population (global, continent, region).
- Display top-N populated capital cities.
- Include: name, country, population.
- Show total population, city-dwelling population, and non-city population for each continent, region, and country.
- Include percentages for urban vs. non-urban populations.
- Report number of speakers for Chinese, English, Hindi, Spanish, and Arabic.
- Include percentage of global population for each language.
- Retrieve population data for specific continents, regions, countries, districts, and cities.
- Module : Software Engineering Methods (SET08101)
- Year : 2
- Group: 9
- Repository:
group9-devops
- Java 17+
- Maven
- Docker-Compose
# Clone the repository
git clone https://github.com/group9-devops/devops
cd group9-devops
# Build the project using Maven
mvn clean package
# Run the app
java -jar target/devops.jar
- Build the Docker-Compose Image
- Test the image by creating a container and testing that the SQL database in connected.
Our GitHub Actions pipeline automatically
- Builds and packages our application using Maven
- Runs unit and integration testing complete with CodeCov reporting using Docker
- Creates a new GitHub release
Workflow file: .github/workflows/main.yml
We are following Gitflow with the following branches
- master: production-ready
- develop: active development
- feature: individual feature branches
- release/0.1.0: first release branch
Our Code of Conduct outlines expected group behaviour and contribution guidelines
Location: .github/CODE_OF_CONDUCT.md
We track our tasks and progress using:
- GitHub Issues
- Zube Kanban board
- Zube Sprint Board
- Chiedza Chaterera - ID: 40668762 - Product Owner
- Euan Birkett - ID: 40711166 - Scrum Master
- Tulasi Rijal - ID: 40783965 - Developer One
- Adin Carlisle - ID: 40485891 - Developer Two