Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 

Repository files navigation

DevNode Logo

DevNode

Empowering Developers to Share Knowledge

A modern blogging platform for developers, featuring real-time collaboration, GitHub integration, and a sleek UI.

CI GitHub stars GitHub issues GitHub license Vercel

FeaturesTechnologies UsedProject StructureInstallationRunning the ApplicationContributingLicenseContact


Features

  • 🎨 Beautiful UI: Modern, responsive design with customizable themes.
  • Real-time Collaboration: Edit posts with others in real-time.
  • 📝 Rich Text Editor: Quill-powered editor with support for code, images, and more.
  • 🔍 Search & Filter: Easily find posts by title, author, or category.
  • 🔗 GitHub Integration: Embed GitHub gists and code snippets.
  • 💾 Auto-Save Drafts: Never lose your work with automatic draft saving.
  • 💬 Commenting System: Engage readers with a built-in comment section.
  • 👤 User Profiles: Personalize profiles with avatars and bios.
  • 📈 SEO Optimized: Get your posts noticed with built-in SEO tools.

🌟 Technologies Used

DevNode leverages a powerful stack of technologies for a seamless blogging experience:

Frontend

  • React React: A JavaScript library for building user interfaces.
  • Material-UI Material-UI: A UI framework with a comprehensive set of components.
  • Quill Quill: A modern rich text editor for the web.
  • Formik Formik: A library for managing form state and validation.
  • Yup Yup: A schema builder for value parsing and validation.

Backend

  • Node.js Node.js: A JavaScript runtime environment for server-side applications.
  • Express.js Express.js: A minimal and flexible Node.js web application framework.
  • MongoDB MongoDB: A NoSQL database for scalable and flexible data storage.
  • Mongoose Mongoose: ODM library for MongoDB and Node.js.

Image & Media Management

  • Cloudinary Cloudinary: A cloud service for managing images and videos.

Authentication & Security

  • JWT (JSON Web Tokens) JWT: Compact means of representing claims between two parties.

Others

  • Prettier Prettier: Ensures consistent code formatting.
  • Vercel Vercel: Deployment platform for static sites and serverless functions.

Project Structure

DevNode/
├── client/                   # Frontend source code
│   ├── public/               # Public assets
│   ├── src/                  # Source files
│   │   ├── components/       # Reusable components
│   │   ├── pages/            # Application pages
│   │   ├── styles/           # Global styles and themes
│   │   ├── utils/            # Utility functions
│   │   └── App.js            # Root component
├── server/                   # Backend source code
│   ├── controllers/          # Route controllers
│   ├── models/               # Mongoose schemas and models
│   ├── routes/               # API route definitions
│   ├── middleware/           # Express middleware
│   └── app.js                # Main application setup
├── config/                   # Configuration files
├── docker/                   # Docker-related files
├── .env.example              # Environment variables example
├── .gitignore                # Files to ignore in Git
├── README.md                 # Project documentation
└── package.json              # Node.js dependencies and scripts

Installation

Prerequisites

  • Node.js (v14 or above)
  • MongoDB (v4 or above)
  • Docker (optional for containerization)

Steps

  1. Clone the repository:

    git clone https://github.com/devayanm/devnode.git
    cd devnode
  2. Install dependencies:

    For the backend:

    cd server
    npm install

    For the frontend:

    cd client
    npm install
  3. Set up environment variables:

    Create a .env file in the server directory using .env.example as a template and fill in your environment variables.

  4. Run the application:

    • Backend:

      cd server
      npm start
    • Frontend:

      cd client
      npm start

    The application will be accessible at http://localhost:3000 by default.

  5. Optional - Run with Docker:

    To run the application with Docker, make sure Docker is installed and then use the following commands:

    docker-compose up

    This will build and start the containers for both the frontend and backend.


Contributing

We welcome contributions to DevNode! To get started:

  1. Fork the repository on GitHub.
  2. Clone your forked repository to your local machine.
  3. Create a new branch for your changes:
    git checkout -b my-feature-branch
  4. Make your changes and commit them:
    git commit -am 'Add new feature'
  5. Push your changes to your forked repository:
    git push origin my-feature-branch
  6. Submit a pull request on GitHub with a clear description of your changes.

For more details, please refer to our Contributing Guidelines.


License

DevNode is licensed under the MIT License.


Contact

For any questions or support, please reach out to us:

Twitter GitHub


DevNode Screenshot


DevNode – Empowering developers to share and grow together.

About

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages