Skip to content

Abhay-hack/Digilekh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

✨ Digilekh

Digilekh is a full-stack web application designed to manage and share blogs and discussions within an interactive community. It empowers users to post content, comment on discussions, and join topic-based communities, all within a modern and intuitive interface.


🔍 Project Overview

Digilekh is a blogging and community discussion platform where users can:

  • Create and publish blog posts
  • Join or create topic-specific communities
  • Comment and engage with others in real time using Socket.IO
  • Authenticate and manage their profiles securely using JWT

It features a responsive frontend built with React.js, and a powerful backend powered by Node.js, Express.js, and MongoDB.


🚀 Features

  • 📝 Blog creation and editing
  • 💬 Comment system with real-time updates
  • 🧑‍🤝‍🧑 Community creation and participation
  • 🔐 Secure user authentication (JWT)
  • 📁 Image/file uploads using Multer
  • 🌐 REST API integration with Axios
  • 🎨 Styled using Styled-Components and React Icons
  • ⚡ Real-time interaction using Socket.IO

🚧 Getting Started

To set up this project locally, follow these instructions:

🖥️ 1. Backend Setup

🔧 Tech Stack

  • Languages and Frameworks:
    Node.js, Express.js

  • Database:
    MongoDB

  • Other Dependencies:
    JSON Web Token, Multer, Socket.IO, Dotenv, CORS, Body-parser, Cookie-parser

Steps to Install Backend Dependencies:

  1. Navigate to the backend directory:

    cd backend
  2. Install Dependencies

    npm i
    npm install express
    npm install jsonwebtoken
    npm install multer mongoose socket.io dotenv cors body-parser cookie-parser
  3. If not already installed, consider adding these development utilities: ``sh npm install nodemon --save-dev

  4. Create a .env file

    PORT=your-port-number
    MONGO_URI=your-mongo-uri
    JWT_SECRET=your-jwt-secret
    NODE_ENV=production
    

🗂️ Backend Folder Structure:

project/
├── middleware/
│   ├── multer.js         // Custom multer configuration
│   └── auth.js           // Authentication middleware
├── models/
│   ├── blog.js
│   ├── comment.js
│   ├── community.js
│   └── user.js
├── socket.js              // Socket implementation
├── routes/
│   ├── blogRouter.js
│   ├── communityRouter.js
│   └── userRouter.js
├── uploads/               // Directory for uploaded files
├── index.js
├── .env                   // Environment variables
└── package.json

How to run

node index.js

or

nodemon index.js

🌐 2. Frontend Setup

🔧 Tech Stack

  • Languages and Frameworks:
    React.js
  • Other Dependencies: React Router DOM, Axios, Socket.IO Client, Styled Components, Moment, React Icons, Emoji Picker

Steps to Install Frontend Dependencies:

  1. Navigate to the frontend directory:
    cd frontend
  2. Install Dependencies
    npm i
    npm install react-router-dom axios socket.io-client styled-components moment
    npm i react-icons emoji-picker-react
    

How to run

npm run dev

🗂️ Frontend Folder Structure

src/
├── components/
│   ├── Header.js
│   ├── Loader.js
│   ├── CommentSection.js
│   └── BlogPost.js
├── pages/
│   ├── Home.js
│   ├── About.js
│   ├── Contact.js
│   ├── Signup.js
│   ├── Login.js
│   ├── Profile.js
│   ├── Blogs.js
│   ├── BlogDetail.js
│   ├── CommunityList.js
│   ├── CommunityDetail.js
│   └── CommunityCreate.js
├── assets/
│   └── user.png
├── axios/
│   ├── index.js           # Configure axios instances here
├── App.js
└── index.js

🎯 How to Use

👤 Author

This project was created by Abhay Gupta. Feel free to connect on LinkedIn or check out more projects on GitHub.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages