Skip to content

Veer-Parikh/Blogify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Blog Application README

Introduction

Welcome to the Blog Application! This full-stack application allows users to create accounts, post blogs, like and comment on blogs, follow friends, explore popular and recent blogs, and perform both full-text and fuzzy search. The application is built using Node.js, React.js, and Express, with additional features such as sentiment analysis and media uploads.


Features

User Accounts

  • Sign Up and Log In: Users can create an account using their email, name, and phone number. The application supports OTP authentication for both signup and login.
  • Profile Management: Users can update their profile details and manage their account settings.

Blog Posting

  • Create Blogs: Users can write and post blogs with the option to upload images and PDFs.
  • Edit and Delete Blogs: Users can edit or delete their own blogs.
  • Rich Text Editor: The blog editor supports rich text formatting for better content presentation.

Interactions

  • Like Blogs: Users can like or unlike blogs. Each blog card displays whether the logged-in user has already liked the blog.
  • Comment on Blogs: Users can add comments to blogs, fostering discussions and interactions.
  • Follow Friends: Users can follow their friends and view their friends' activities.

Exploration and Search

  • Popular and Recent Blogs: Users can explore the most popular and recent blogs on the platform.
  • Full-Text Search: Users can search for blogs using keywords.
  • Fuzzy Search: Users can search for other users using a fuzzy search algorithm to handle typos and partial matches.

Media and Sentiment Analysis

  • Media Uploads: Users can upload images and PDFs along with their blogs.
  • Sentiment Analysis: The application performs sentiment analysis on blog posts to gauge the overall sentiment of the content.
  • Age Restriction and User Consent : The application confirms if you are willing to visit the blog if it contains any derogatory content, if the user age is below 18 he/she wouldnt be allowed to read the blog

Technologies Used

Backend

  • Node.js: JavaScript runtime for building the server-side application.
  • Express: Web framework for building the API and handling requests.
  • Prisma: ORM for managing the database and performing CRUD operations.

Frontend

  • React.js: JavaScript library for building the user interface.
  • Material-UI: Component library for styling and theming the application.
  • react-responsive-carousel: Library for creating responsive carousels.

Database

  • PostgreSQL : Supabase: Relational database for storing user data, blog posts, and interactions.

Additional Libraries

  • sentiment: Library for performing sentiment analysis on blog posts.

Screenshots

User Interface


Setup and Installation

Prerequisites

  • Node.js: Ensure Node.js is installed on your machine.
  • PostgreSQL: Set up a PostgreSQL database.

Installation Steps

  1. Clone the Repository

    git clone https://github.com/Veer-Parikh/Blogify.git
    cd Blogify
  2. Install Dependencies

    cd client
    npm install
    cd ..
    cd server
    npm install
  3. Environment Variables

    • Create a .env file in the root directory and add the necessary environment variables.
    DATABASE_URL=your-database-url
    JWT_SECRET=your-jwt-secret
  4. Run the Application

    cd client
    npm run dev
    cd server
    npm start

About

A fullstack application created using Node.js React.js and Express. Users can create their account and post blogs, like blogs, comment on the blogs, follow their friends, explore the most popular recent blogs, search for blogs (full-text search) and users (fuzzy-search). User can post images/pdfs along with the blog which has sentiment analysis.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors