Textgram is a microblogging platform inspired by Twitter, designed for users to share short text posts with the world. This README provides an overview of the project, including its current features, planned additions, and the technologies used.
- Create a Text Post: Users can compose and publish text-based posts.
- Like the Post: Users can like posts to show appreciation.
- Undo Like: Option to undo a like if clicked by mistake.
- Comment on Post: Ability to comment on posts, fostering engagement.
- SignUp: User registration to create an account.
- LoggingIn: Secure login functionality for registered users.
- Delete Account: Delete the User Account.
- Update Account: Update user details.
- View User Profile: View User profile with user Posts.
- Delete Comment: Option to delete user comments.
- Delete the Post: Posts can be deleted by the user who created them.
- View Other User: View the profile of other users by Clicking on name.
Textgram is built using the following technologies:
-
Frontend:
- React.js: A JavaScript library for building user interfaces.
- TailwindCSS: A utility-first CSS framework for styling.
- Axios: Promise-based HTTP client for making requests.
- ViteJs: A fast and efficient frontend build tool.
- JavaScript and HTML: Primary programming languages for frontend development.
- Recoil: State management library for React.
-
Backend:
- Node.js: JavaScript runtime for building scalable server-side applications.
- Express.js: Web application framework for Node.js, simplifying API development.
- MongoDB: NoSQL database for storing user data, posts, and comments.
- Mongoose: MongoDB object modeling for Node.js, providing schema-based solutions.
- Zod: Runtime type checking for data consistency
- JWT: JSON Web Tokens for secure authentication
- Bcrypt: Password hashing for security.
The Textgram project serves as a practical showcase of skills in web development, particularly in the MERN (MongoDB, Express.js, React.js, Node.js) stack. It aims to demonstrate proficiency in building modern, interactive web applications with a focus on user engagement and experience.
Textgram provides an opportunity to explore and implement various features commonly found in social media platforms, such as posting, liking, commenting, and user authentication. By continuously adding new features and refining existing ones, the project evolves into a comprehensive demonstration of web development skills.
Contributions to Textgram are welcome! If you have ideas for new features, improvements, or bug fixes, feel free to open an issue or submit a pull request.