Skip to content

codeAntu/throbuzz

Repository files navigation

Throbuzz

Throbuzz is a social media website built using Next.js for both frontend and backend. It allows users to post, follow, and interact with other users' posts and profiles.

Technologies Used

  • Next.js: A powerful React framework that enables server-side rendering and static site generation, providing a seamless development experience for both frontend and backend.
  • Axios: A promise-based HTTP client for the browser and Node.js, used for making API requests to fetch and send data.
  • Bcryptjs: A library to help hash passwords, ensuring secure storage of user credentials.
  • Cloudinary: A cloud service that offers a solution for storing and managing images and videos, providing easy integration and powerful features.
  • Framer Motion: A production-ready motion library for React, used to create smooth animations and transitions.
  • Lucide Icons: A collection of simple and consistent icons, used to enhance the visual appeal of the application.
  • MongoDB: A NoSQL database, used with Mongoose to provide a flexible and scalable data storage solution.
  • Nodemailer: A module for Node.js applications to send emails, used for functionalities like email verification.
  • Zod: A TypeScript-first schema declaration and validation library, used to ensure data integrity and validation.
  • Zustand: A small, fast, and scalable state management solution for React applications.
  • Other technologies: Various other libraries and tools that contribute to the overall functionality and performance of the application.

Key Features

  • User Posts: Users can create and share posts, follow other users, and view posts from people they follow. This feature encourages interaction and content sharing within the community.
  • Feed: The feed is divided into three sections:
    • Recent: Displays the most recent posts from all users.
    • Following: Shows posts from users that the logged-in user follows.
    • Popular: Highlights posts that have gained significant engagement and popularity.
  • Post Management: Users can edit their posts and profiles, like and comment on posts, and reply to comments. This feature provides flexibility and interaction opportunities.
  • Profile Customization: Users can personalize their profiles by adding links to other social media accounts, uploading profile pictures, and writing bios. This helps users express their identity and connect with others.
  • Search: The search functionality allows users to find posts and other users. Search results are sorted by popularity, making it easier to discover trending content and influential users.
  • Account Creation: Users can create an account using their email. An OTP (One-Time Password) is sent for verification, ensuring secure account creation.
  • UI: The user interface is designed to be visually appealing, with options to change themes and ensure responsiveness across different devices.

Getting Started

To get started with Throbuzz, follow these steps:

  1. Clone the repository.
  2. Install dependencies using npm install.
  3. Set up environment variables for MongoDB, Cloudinary, and other services.
  4. Run the development server using npm run dev.

Contributing

Contributions are welcome! Please open an issue or submit a pull request.

License

This project is licensed under the MIT License.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages