Vote Everything provides a platform where users can anonymously vote on any topic, person, or concept. Users can view and comment on existing polls or create new ones based on their preferences. The platform aims to deliver a transparent and user-friendly experience.
This screen checks the user's session status when the app is launched. If a session exists, the user is directed to MainActivity
; otherwise, they are redirected to SignInActivity
. The transition occurs with a one-second delay.
- Uses Firebase Authentication for email and password verification.
- Separates business logic and UI using ViewModel.
- Redirects users to the main screen upon successful login.
- Allows users to create accounts by providing an email and password.
- Validates user inputs (e.g., email format and password length).
- Redirects users to the main screen upon successful registration.
- Provides navigation for the main screen.
- Displays posts using
RecyclerView
andPostAdapter
. - Users can filter posts by title through the search bar.
- Manages user sessions and data.
- Dynamically loads user posts and other information.
- Navigation allows switching between Home and Profile fragments.
- Enables users to create new posts.
- Adds rating options and checks for post uniqueness.
- Notifies users upon successful post creation and saves data to Firestore.
- Displays detailed information about posts and user comments.
- Lists comments using
RecyclerView
andCommentAdapter
. - Allows users to add comments and provides editing options for post owners.
- Users Collection: Stores user information (userId, username, postIdList, commentIdList) and links to posts/comments.
- Posts Collection: Stores post information (postId, description, userId) and includes a list of comments.