Giter VIP home page Giter VIP logo

vijaysingh1621 / socialify Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 564 KB

Socialify is an innovative full stack social media web application designed to provide a seamless and engaging user experience. With Socialify, users can easily share their life moments by posting photos, connecting with friends through friend requests, and interacting with content by liking and commenting on posts.

Home Page: https://mysocialify.vercel.app

JavaScript 0.72% CSS 0.22% TypeScript 99.07%
clerkauth cloudinary mongodb nextjs15 prisma-orm react19 webhooks-api zod-validation typescipt fullstack

socialify's Introduction


Socialify

Socialify is an innovative social media web application designed to provide a seamless and engaging user experience. With Socialify, users can easily share their life moments by posting photos, connecting with friends through friend requests, and interacting with content by liking and commenting on posts. The platform also includes features to ensure a safe and respectful community, such as the ability to block users, preventing unwanted interactions.

Built using cutting-edge technologies like Next.js 15 and React 19, Socialify leverages the power of TypeScript to enhance code quality and maintainability. The backend is powered by Prisma, an advanced ORM, and MongoDB, a flexible NoSQL database, ensuring efficient data management and scalability. Authentication is handled by Clerk, providing secure and user-friendly sign-up and login processes, with support for webhooks to synchronize user data updates.

Additionally, Socialify uses Cloudinary for reliable image storage, allowing users to upload and manage their photos effortlessly. Zod is employed for robust data validation, ensuring the integrity and consistency of user inputs. Overall, Socialify aims to create a dynamic and interactive online environment, encouraging meaningful connections and positive interactions among its users.

Features

  • Post Photos: Users can upload and share photos with their friends.
  • Friend Requests: Send and accept friend requests to connect with others.
  • Likes and Comments: Like and comment on posts to engage with friends.
  • Block Users: Block other users to prevent them from interacting with you.

Technology Stack

  • Frontend:

    • Next.js 15
    • React 19
    • TypeScript for static type checking and better development experience.
  • Backend:

    • Prisma as the ORM for database management.
    • MongoDB as the database.
    • Clerk for authentication, including webhooks for synchronizing user creation and updates with the database.
    • Zod for schema validation and data validation.
    • Cloudinary for storing and managing images.

Setup and Installation

Prerequisites

Ensure you have the following installed:

Installation

  1. Clone the repository:

    git clone https://github.com/your-username/socialify.git
    cd socialify
  2. Install dependencies:

    yarn install
  3. Setup environment variables:

    Create a .env.local file in the root directory and add your environment variables. For example:

    NEXT_PUBLIC_CLERK_FRONTEND_API=<Your Clerk Frontend API>
    CLERK_API_KEY=<Your Clerk API Key>
    DATABASE_URL=<Your MongoDB URL>
    CLOUDINARY_CLOUD_NAME=<Your Cloudinary Cloud Name>
    CLOUDINARY_API_KEY=<Your Cloudinary API Key>
    CLOUDINARY_API_SECRET=<Your Cloudinary API Secret>
  4. Run migrations:

    npx prisma migrate dev --name init
  5. Start the development server:

    yarn dev

    The app should now be running at http://localhost:3000.

Usage

Once the app is running, you can:

  • Sign Up/Login: Create an account or log in using Clerk authentication.
  • Profile Setup: Set up your profile, including profile picture and bio.
  • Post Photos: Upload and share your favorite moments, stored securely in Cloudinary.
  • Interact with Friends: Send friend requests, like, and comment on posts.
  • Manage Privacy: Block users to manage your interactions.

Development

To contribute to Socialify, please follow the steps below:

  1. Fork the repository.

  2. Create a new branch for your feature or bug fix:

    git checkout -b feature-name
  3. Commit your changes:

    git commit -m "Add new feature"
  4. Push to the branch:

    git push origin feature-name
  5. Create a pull request.

Contributing

We welcome contributions from the community. Please read our CONTRIBUTING.md for guidelines on contributing.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgments

  • Thanks to the open-source community for providing the tools and libraries that made this project possible.
  • Special thanks to Clerk for seamless authentication integration.
  • Thanks to Cloudinary for reliable and efficient image storage solutions.

socialify's People

Contributors

vijaysingh1621 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.