About this project:
Welcome to the Simple Blog Website project! This project is designed for learning purposes, focusing on essential functionalities rather than design aesthetics. You'll find a practical implementation of Passport authentication, CRUD operations for blog posts, and a dashboard exclusive to admin users.
-
Passport Authentication: Explore the world of authentication using Passport.js to secure user access to the blog website.
-
Admin Dashboard: Only admin users have access to the dashboard. The dashboard provides insights into:
- Subscribed users for newsletters
- Received messages
- User management, including the ability to view all users and their activities
- Post creation tracking
-
CRUD Operations for Posts: Admin users can Create, Read, Update, and Delete blog posts directly from the dashboard.
-
EJS Templating Engine: Learn how to use EJS (Embedded JavaScript) as the templating engine for dynamic content rendering.
This project serves as a practical guide to understanding and implementing various aspects of web development, including:
- Authentication using Passport.js
- Working with EJS for dynamic HTML rendering
- Handling data for blog posts, subscribers, and messages
- Admin-exclusive functionalities and dashboard design
- Clone the repository.
- Install dependencies using
npm install
. - Set up your MongoDB database and update the connection string in
config/database.js
. - Run the application using
npm start
. - Access the application at
http://localhost:3000
.
If you find any issues or have suggestions for improvement, feel free to open an issue or create a pull request. Contributions are welcome!
Happy coding!