Skip to content

Commit 5e41701

Browse files
committed
Updated README.md
1 parent 0091f99 commit 5e41701

File tree

3 files changed

+31
-0
lines changed

3 files changed

+31
-0
lines changed

README.md

+31
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# 📰 WikiNews: A Modern Android News Client
22

3+
![](/WikiNews_Banner.png)
4+
35
## Overview
46
**WikiNews** is a sleek and modern Android news application built with the latest technologies.
57

@@ -17,13 +19,42 @@
1719
- 🌍 **Global coverage**: WikiNews provides news from around the world, covering diverse topics and events.
1820
- 🔓 **CC-BY license**: News content is licensed under Creative Commons Attribution, allowing for free reuse and sharing.
1921

22+
### Rate Limits
23+
Rate limits restrict API calls to a set number of requests per hour based on the type of request. A **429** response code indicates that the applicable rate limit has been exceeded.
24+
25+
These limits apply only to APIs with **api.wikimedia.org** as the base URL. Rate limits may vary depending on the specific API. For higher rate limits, consider using **Wikimedia Enterprise**.
26+
27+
- **Anonymous requests (Without API Key)**: Limited to **500 requests per hour** per IP address.
28+
- **Personal requests**: Authenticated using a personal API token, limited to **5,000 requests per hour**.
29+
- **App-authenticated requests**: Authenticated via OAuth 2.0 client credentials flow, limited to **5,000 requests per hour**.
30+
- **User-authenticated requests**: Authenticated using the OAuth 2.0 authorization code flow, limited to **5,000 requests per hour** per user.
31+
32+
For specific rate limits, refer to the [API catalog](https://api.wikimedia.org/wiki/Rate_limits) for each API.
33+
34+
### Authentication for Wikimedia API
35+
Apps using the Wikimedia API should authenticate their requests using **OAuth 2.0**, providing a secure process for accessing Wikimedia resources. For evaluation and prototyping, a **personal API token** can also be used.
36+
37+
#### App Authentication: OAuth 2.0 Client Credentials Flow
38+
To authenticate on behalf of an app, use the **OAuth 2.0 client credentials flow**. This flow allows apps to access public Wikimedia content by creating credentials, obtaining an access token, and using it to authenticate requests. You can refresh the access token as needed when it expires.
39+
40+
#### User Authentication: OAuth 2.0 Authorization Code Flow
41+
For apps that interact with users (like mobile or desktop apps), use the **OAuth 2.0 authorization code flow**. This method enables users to log in with their Wikimedia account and approve your app’s access. The process involves creating credentials, requesting user authorization, obtaining an access token, and using the token to authenticate requests. Tokens can be refreshed as needed.
42+
43+
#### Personal API Tokens
44+
For testing and prototyping, you can use a **personal API token** tied to your Wikimedia account. These tokens provide an easy way to authenticate requests during development and do not expire.
45+
46+
For more information, refer to the [Authentication Page](https://api.wikimedia.org/wiki/Authentication).
47+
2048
## Features
2149
- 🗞️ News article retrieval from WikiNews API.
2250
- 🖼️ Display of news articles with images and summaries.
2351
- 🧑‍💻 Clean and modern UI built with Jetpack Compose.
2452
- 🏗️ Dependency injection with Hilt.
2553
- 🖼️ Image loading and display with Coil Compose.
2654
- 📱 Offline support and caching for improved performance.
55+
- Dynamic navigation layout build with Navigation-Suite-Scaffold
56+
57+
![](/WikiNews_Screenshots.png)
2758

2859
## Why WikiNews?
2960
- 🏅 **Fact-based journalism**: WikiNews focuses on verifiable information, reducing the spread of misinformation.

WikiNews_Banner.png

29.9 KB
Loading

WikiNews_Screenshots.png

3.55 MB
Loading

0 commit comments

Comments
 (0)