A modern blogging platform for developers, featuring real-time collaboration, GitHub integration, and a sleek UI.
Features • Technologies Used • Project Structure • Installation • Running the Application • Contributing • License • Contact
- 🎨 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.
DevNode leverages a powerful stack of technologies for a seamless blogging experience:
- React
: A JavaScript library for building user interfaces.
- Material-UI
: A UI framework with a comprehensive set of components.
- Quill
: A modern rich text editor for the web.
- Formik
: A library for managing form state and validation.
- Yup
: A schema builder for value parsing and validation.
- Node.js
: A JavaScript runtime environment for server-side applications.
- Express.js
: A minimal and flexible Node.js web application framework.
- MongoDB
: A NoSQL database for scalable and flexible data storage.
- Mongoose
: ODM library for MongoDB and Node.js.
- Prettier
: Ensures consistent code formatting.
- Vercel
: Deployment platform for static sites and serverless functions.
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
- Node.js (v14 or above)
- MongoDB (v4 or above)
- Docker (optional for containerization)
-
Clone the repository:
git clone https://github.com/devayanm/devnode.git cd devnode -
Install dependencies:
For the backend:
cd server npm installFor the frontend:
cd client npm install -
Set up environment variables:
Create a
.envfile in theserverdirectory using.env.exampleas a template and fill in your environment variables. -
Run the application:
-
Backend:
cd server npm start -
Frontend:
cd client npm start
The application will be accessible at http://localhost:3000 by default.
-
-
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.
We welcome contributions to DevNode! To get started:
- Fork the repository on GitHub.
- Clone your forked repository to your local machine.
- Create a new branch for your changes:
git checkout -b my-feature-branch
- Make your changes and commit them:
git commit -am 'Add new feature' - Push your changes to your forked repository:
git push origin my-feature-branch
- Submit a pull request on GitHub with a clear description of your changes.
For more details, please refer to our Contributing Guidelines.
DevNode is licensed under the MIT License.
For any questions or support, please reach out to us:
- Email: support@devnode.com
- Twitter: @devnode
- GitHub: DevNode Repository
DevNode – Empowering developers to share and grow together.
