Giter VIP home page Giter VIP logo

twiddle's Introduction

TWIDDLE Social Media Web Application

Overview

Introducing TWIDDLE as a social media platform built using cutting-edge technologies that offer users a seamless and feature-rich experience. Our technology stack includes both backend and frontend components, as well as various integration packages, to ensure a robust and efficient application.

Technologies Used

Overview

Backend

  • Node.js and Express for a scalable and maintainable backend, with TypeScript for clean code architecture.
  • MongoDB for a flexible and reliable database solution.
  • AWS S3 bucket for efficient storage and retrieval of images.

Frontend

  • React, Redux, and Tailwind CSS for a responsive and visually appealing user interface.
  • TypeScript EC6 for programming, ensuring type safety and enhanced productivity.
  • Axios for handling HTTP requests, providing seamless communication between the frontend and backend.

Integration Packages

  • JSON Web Token (jsonwebtoken) for secure user authentication and authorization.
  • Nodemailer for sending registration confirmation emails with login links.
  • Google Auth for easy and secure login options.
  • Zego Cloud for efficient video call functionality.
  • Stripe integration for seamless payment processing and premium account features.

Features

Authentication

  • Allow users to log in directly using email credentials.
  • Send registration confirmation emails with login links using Nodemailer.

Posts

  • Empower users to create, edit, and report posts.
  • Utilize react-easy-crop for easy image cropping during post uploads.
  • Store post images in an AWS S3 bucket for optimal performance and scalability.
  • Enable users to like, comment, and save posts.
  • Allow users to add and delete comments.

Profile

  • Enable users to follow/unfollow other users.
  • Facilitate direct messaging between users.
  • Empower users to edit their bio, change profile photos, and update passwords.
  • Display saved posts on the user's profile page.
  • Implement Stripe for seamless payment integration for premium accounts.
  • Offer a customizable theme with dark mode and light mode options.
  • Enable users to search for other users.

Messages and Notifications

  • Utilize socket.io for real-time messaging and notifications.
  • Implement Zego Cloud for efficient video call functionality.

Admin Side

  • Provide administrators with the ability to block users.
  • Allow admins to block posts reported by users and delete them if necessary.
  • Enable admin management of verified users from a centralized list.

Hosting

TWIDDLE is hosted on an AWS instance, leveraging Nginx for optimal performance and reliability. The application is deployed using PM2, ensuring seamless operation and scalability.

Get Started

  1. Clone this repository.
  2. Install dependencies using npm install.
  3. Configure environment variables (e.g., database connection, Stripe API keys).
  4. Build the application using npm run dev.
  5. Run the application using npm run dev.

Contribute

We welcome developers, designers, and social media enthusiasts to join us in enhancing TWIDDLE. Feel free to submit pull requests and contribute to our exciting journey of redefining social media!

twiddle's People

Contributors

soorajvp avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.