News App is a Flutter-based mobile application that allows users to view, post, and interact with stories from the Dicoding API. It includes secure user authentication, photo uploads using the device camera, and smooth navigation using declarative routing.
- Login and registration screens
- Password input with obscured text
- Session and token storage using
SharedPreferences - Persistent login (auto-login if token exists)
- Logout functionality to clear session and token
- Fetch and display stories from the Dicoding API
- Shows user name and photo
- Tap on a story to view details with full description
- Add a new story with a short description
- Upload photos directly from the camera or gallery
- Implements declarative navigation using
go_router - Navigation flow changes based on login status
| Category | Technology |
|---|---|
| Language | Dart |
| Framework | Flutter |
| State Management | Provider |
| Navigation | go_router |
| API Communication | http |
| Local Storage | shared_preferences |
| Media Access | camera, image_picker |
| Utility Libraries | intl, image |
| Home Screen | Detail Screen |
|
|
To run this project locally:
Run the following command in your terminal:
git clone https://github.com/AgungKusumma/news_app.git
Then navigate into the project folder:
cd news_app
Use this command to install all required packages:
flutter pub get
Make sure an emulator or device is connected, then run:
flutter run
✅ Make sure you have Flutter SDK installed and set up properly.
This project is open for educational and personal use.
You are free to use, modify, and distribute this code as long as it is done fairly and responsibly.
If you'd like to connect or reach out, feel free to visit my LinkedIn — it's listed in my GitHub bio.

