Skip to content

Yash159357/DummyConnect

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 DummyConnect

Flutter Dart BLoC DummyJSON

A modern Flutter app showcasing clean architecture with BLoC pattern

Fetches and displays user data, posts, and todos from the DummyJSON API


📋 Internship Assessment Project – Flutter Developer Role
🗓️ Deadline: 4th June 2025

✨ Features

🔍 User List with Infinite Scroll & Real-time Search
📄 User Details with Posts & Todos
📝 Create Post Locally
🔁 Pull-to-Refresh Support (Bonus)
🌗 Light/Dark Theme Toggle (Bonus)
💡 Clean Architecture with flutter_bloc

🏗️ Architecture Overview

This project follows the BLoC (Business Logic Component) pattern for predictable state management and clean architecture principles.

lib/
├── 📁 models/          # Data models (User, Post, Todo)
├── 📁 services/        # API calls (UserService, PostService, TodoService)
├── 📁 cubits/          # State management using Cubits
├── 📁 screens/         # UI screens & widgets
├── 📁 constants/       # API endpoints & configuration
├── 📁 utils/           # Helper functions (debounce, etc.)
└── 📄 main.dart        # App entry point with MultiBlocProvider

📡 API Integration

Powered by the DummyJSON API 🌐

Endpoint Purpose Features
/users List users ✅ Pagination & Search
/posts/user/{userId} User's posts ✅ Dynamic loading
/todos/user/{userId} User's todos ✅ Interactive display

📝 Note: Pagination handled via limit and skip query parameters
🔍 Search: Client-side filtering by user name for optimal performance

🎨 Screenshots

User List Screen User Details Create Post
User List Screen User Details Screen Create Post Screen

🧠 State Management

Built with flutter_bloc for robust state management:

🎯 Cubit Name 📋 Responsibility 🔄 States
UserListCubit Fetch users, search, pagination • Loading
• Success
• Error
UserDetailCubit Fetch user's posts and todos
PostCubit Add local posts
TodosCubit Local todo state management

🛠️ Setup Instructions

Prerequisites

  • Flutter 3.x 📱
  • Dart 3.x ⚡
  • Internet connection 🌐

Installation

  1. Clone the repository

    git clone https://github.com/YOUR_USERNAME/dummyconnect.git
    cd dummyconnect
  2. Install dependencies

    flutter pub get
  3. Run the application

    flutter run
  4. Format code (Optional)

    flutter format .

⚠️ Known Limitations

Limitation Details
📝 Local Posts Posts are created locally and not persisted on server
Todo States Todo toggle states are managed locally only
💾 No Offline Cache Planned for future improvement

🎉 Bonus Features

  • 🔄 Pull-to-refresh on user list
  • 🌓 Light/Dark theme toggle
  • 🧩 Modular widgets (UserTile, PostTile, etc.)
  • 📱 Responsive design for various screen sizes

🏆 Tech Stack

Flutter Dart BLoC Clean Architecture REST API

📄 License

This project is open for review and educational use only.

🙏 Acknowledgements

  • 🎯 DummyJSON for providing an excellent free API
  • 🧩 BLoC Library for powerful state management tools
  • 💙 Flutter Community for continuous support and resources

👨‍💻 Author

Yash
CSE Student – USICT, New Delhi
🔗 GitHub: @your-username

Built with ❤️ using Flutter & BLoC

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published