NewsFeed is a mobile application built with Google Flutter, designed to display a list of posts with functionalities for adding new posts and liking posts. The app uses Firebase Firestore for authentication and data storage, allowing users to create and manage posts and like/unlike content.
- User Authentication: Users can sign in with their email or create an account by providing an email, password, and username.
- Display a List of Posts: The newsfeed displays all posts in chronological order.
- User’s Name: Displays the name of the user who posted.
- Bio: Shows a brief bio of the user.
- Post Content: Includes the title and category of the post.
- Timestamp: Shows when the post was created.
- Like Count: Displays the number of likes each post has received.
- Like Button: Allows users to like or unlike a post.
- Post Content: Includes the title, text content, and category of the post.
- Read Post: Allows users to read a post by clicking on an article.
- Like Count: Displays the number of likes each post has received.
- Like Button: Allows users to like or unlike a post.
- Create Post: Users can create a new post by adding a title, text content, and selecting a category.
- Post Visibility: Newly created posts appear at the top of the newsfeed.
- Like/Unlike Posts: Users can like or unlike posts by tapping the like button.
- Update Like Count: The like count updates in real time as users interact with the posts.
- Data Storage: Uses Firebase Firestore to store posts and like counts.
- Data Persistence: Data remains available even after the app is closed and reopened.
- Change Username: Users can edit their username.
- Add Bio: Users can add a bio that will appear on any of their posts.
- View Their Posts: A page displays a list of all their posts.
To set up and run the NewsFeed app on your local machine, follow these steps:
- Flutter SDK: Install Flutter
- Firebase Account: Create a Firebase project
Clone the repository to your local machine using:
git clone https://github.com/your-username/newsfeed-app.git
- Go to the Firebase Console.
- Create a new project or use an existing one.
- Add an Android/iOS app to your project.
- Download the
google-services.json
(for Android) orGoogleService-Info.plist
(for iOS) file and place it in the appropriate directory in your Flutter project (android/app
for Android andios/Runner
for iOS). - Enable Firebase Authentication and Firestore in the Firebase Console.
Navigate to the project directory and install the necessary dependencies:
flutter pub get
Run the app on your emulator or connected device:
flutter run
- Ability to sort by top-rated posts and categories.
- Ability to comment on posts.
- Ability to add images to posts.
- Google authentication.
- Finishing styling
- Newsfeed: View and interact with posts.
- Add Post: Use the floating action button to create a new post.
- Like/Unlike Posts: Tap the like button on any post to like or unlike it.
This project is licensed under the MIT License