docs: update README for clarity and structure; add project homepage to package.json

This commit is contained in:
Dan Dobos
2025-10-17 11:22:06 +02:00
parent c9e1fc2c16
commit 603def1a44
2 changed files with 62 additions and 21 deletions
+61 -21
View File
@@ -1,28 +1,68 @@
# worldcountries # worldcountries
A small responsive app build with Vue, Vuex, Axios and Bulma. It calls the restcountries API, visualizes the list of countries, and shows detailed information for each country in a modal. A small responsive Vue app that lists countries and shows details in a modal. Built with Vue, Vuex, Axios and Bulma. It consumes the REST Countries API.
## Project setup
## Features
- Responsive UI with Bulma
- Country list with basic info
- Country details shown in a modal
- Vuex for state management
- Axios for API requests
- Unit tests and coverage reporting
## Prerequisites
- Node.js (v14+ recommended)
- npm (v6+)
- Git
## Quick start
1. Clone the repository
```
git clone https://github.com/dadobos/worldcountries.git
```
2. Enter the project directory
```
cd worldcountries
```
3. Install dependencies
```
npm install
```
4. Start the dev server
```
npm run serve
```
5. Open http://localhost:8080/ in your browser
## Scripts
- `npm run serve` — start the dev server
- `npm run build` — build for production
- `npm test` — run unit tests
- `npm run coverage` — run tests and generate coverage report
- `npm run lint` — run linting (if configured)
## API
This project uses the REST Countries API:
https://restcountries.com
No API key is required.
## Testing
Run unit tests with:
``` ```
clone the project to your local drive with
git clone https://github.com/dadobos/worldcountries.git
go inside the project with
cd worldcountries
install the packages with
npm install
start the project with
npm run serve
it is now available in your browser on http://localhost:8080/
start testing with
npm test npm test
```
check full coverage with Check full coverage:
```
npm run coverage npm run coverage
``` ```
## Development notes
- Main frameworks: Vue + Vuex
- HTTP client: Axios
- Styling: Bulma
- Components are organized under `src/components`, store under `src/store`
If you add environment-specific endpoints or keys, use `.env` files and do not commit secrets.
+1
View File
@@ -1,5 +1,6 @@
{ {
"name": "worldcountries", "name": "worldcountries",
"homepage": "https://dadobos.github.io/worldcountries/",
"version": "0.1.0", "version": "0.1.0",
"private": true, "private": true,
"jest": { "jest": {