DevDiary is a blog-like social media web app designed for developers and others to share their thoughts in a blog format. Users can follow each other and view posts from the users they follow on their home screen. Additionally, users can engage in public chat conversations with each other.
- User Authentication: Implemented session-based authentication from scratch, providing secure login and registration functionality without relying on external libraries like Passport.
- RESTful API: Built a robust API with authentication through web tokens, enabling secure communication between the client and server.
- Security Features: Implemented input sanitization and added CSRF tokens to protect against cross-site scripting (XSS) attacks and other security vulnerabilities.
- Post Search: Integrated database indexing and AJAX to enable efficient post search functionality for a better user experience.
- Public Chat: Leveraged web sockets using Socket.io to create a real-time public chat feature, allowing users to engage in conversations with each other.
- MVC Architecture: Developed the web app following the Model-View-Controller (MVC) architectural pattern, enhancing code organization and maintainability.
- JavaScript
- Bootstrap 5
- Node.js
- Express
- MongoDB
- Socket.io
- Webpack
- Clone the repository:
git clone https://github.com/your-username/DevDiary.git
- Install dependencies:
npm install
- Set up the MongoDB connection in the appropriate configuration file.
- Start the server:
npm start
- Access the application at
http://localhost:3000
.
- Create an account or log in to an existing account.
- Share your thoughts by creating blog-like posts.
- Follow other users to see their posts on your home screen.
- Engage in public chat conversations with other users.
- Explore, connect, and engage with the DevDiary community.
Contributions are welcome! If you find any issues or have suggestions for improvements, please feel free to submit a pull request or open an issue.