Skip to content

Latest commit

 

History

History
65 lines (49 loc) · 4.69 KB

README.md

File metadata and controls

65 lines (49 loc) · 4.69 KB

Votely - A Secure and Engaging Community Platform

Votely is an open-source project that aims to provide developers with a foundation for building their own community platform, inspired by the concept of Reddit. It incorporates cutting-edge technologies and features to create a secure and engaging user experience. Powered by React and utilizing the Material-UI framework, Votely offers a visually appealing and responsive user interface.

Features of Votely

  • Signup and Login: Users can create an account and securely log in to the platform, with signup data securely stored on the Firebase Realtime Database. This enables seamless authentication, allowing users to log in using their stored credentials from any device.

  • Post Viewing: Users can explore a collection of posts, showcasing valuable information, discussions, and user interactions.

  • JSON Integration: The project utilizes JSON data for efficient storage and management of user information, post details, and other relevant data.

  • Firebase Realtime Database: User data and posts are stored and fetched using Firebase Realtime Database, enabling real-time synchronization and seamless access across devices.

  • Content Filtering and Moderation: Votely implements a robust content filtering and moderation system to prevent the posting of inappropriate or offensive content. If a user attempts to submit a post containing sexually explicit content or abusive words, the system detects and flags it, preventing the post from being published. This feature ensures a safe and respectful environment for all users, promoting positive engagement and discouraging harmful behavior.

  • Admin Access and User Management: Votely grants admins exclusive access to view user details like email and username, ensuring efficient user management. Sign-up prevention for the reserved "admin" username enhances security and prevents impersonation. +** Username Validation and Alert Feature:** Votely prevents duplicate usernames during signup and displays an alert if a user attempts to sign in without a registered username, ensuring username uniqueness and providing informative alerts for a smooth user experience.

  • Superb UI with Material-UI: The user interface is designed with a superb color combination, incorporating Material-UI, a popular React UI framework known for its sleek and responsive design components.

  • Filter Data According to User-Clicked Category: users can easily sort and view data based on their selected categories, enhancing their browsing experience on the Votely website.

  • Offline Mode Notification: Notifies users of their offline status and guides them to connect to the internet for full website functionality.

  • Voting System: Users can engage in the community by voting on posts, expressing their opinion and influencing post popularity.

  • Image Preview and Upload: During post creation, users have the option to preview images and upload them, enhancing the visual aspect of their posts.

Tech-Stack

  • React-js
  • Material-UI
  • Firebase Realtime Database
  • CSS
  • JavaScript

Getting Started

Thank you for choosing Votely! To get started with the project, follow the instructions below.

Usage:

  1. Visit the Redit Clone website: https://votly.netlify.app

  2. Join Votely:

    (a) Click on the "Join Votely" option on the Votely homepage.

    (b) Fill in the required details to create a new account.

  3. Log in: Once you have joined Votely, click on the "Log In" option on the Votely homepage. Enter your registered email and password to log in to your account.

  4. Explore posts: Once logged in, you can browse through the available posts on the platform. Click on a post to view its details, discussions, and user interactions. Create a new post:

  5. To create a new post, ensure that you are logged in. Click on the "Create Post" button. Fill in the necessary information, including a title, content, and optional image upload. Preview your post and click "Submit" to publish it. Vote on posts: Engage with the community by voting on posts. Use the provided voting buttons to express your opinion and influence post popularity.

About Developer

I am Abhishek Kumar, and I have undertaken a personal project assigned by Newton School. Through this endeavor, I have showcased my proficiency in various full stack web development technologies and frameworks. From designing intuitive user interfaces to implementing robust functionalities, I have strived to create a project that reflects my skills and dedication as a developer.

Linked In Profile- https://www.linkedin.com/in/abhishek-kumar-741864193/

License

This project is released under the permissive MIT License, allowing for free use, modification, and distribution.