Skip to content

akash85246/Engineer-Insights

Repository files navigation

Contributors Forks Stargazers Issues LinkedIn


Logo

Engineer-Insights

An engaging markdown-based blogging platform that provides engineers a space to share their engineering journey, daily experiences, and technical insights.
Report Bug · Request Feature . Contribute . Pull Requests . Report Security Issue . Fork the Project

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Additional Notes
  5. Roadmap
  6. Contributing
  7. Contact
  8. Acknowledgments

About The Project

Product Name Screen Shot

A markdown-based blogging platform built for engineers to document and share their technical journey, day-to-day experiences, and innovative ideas. Engineer Insights empowers users with AI-assisted writing, real-time analytics, collaboration tools, and content monetization features — all crafted to enhance engineering communication and content reach.

Built with Node.js, EJS templating, and PostgreSQL. Integrated with Google services for authentication and AI-powered content support.

Features

  • Google Authentication: Seamless and secure login using your Google account.
  • AI-Powered Writing & Summarization: Leverage Google AI Studio to help draft and summarize blogs effectively.
  • Blog Monetization (Featured Blogs): PayPal integration allows users to promote their blog by featuring it for 7 or 30 days.
  • Subscription Model: Users can subscribe to exclusive content with two tiers — Elite and Pro.
  • Advanced Blog Analytics Dashboard: Get personalized insights like blog reach, best-performing time zones, country-wise readership, and more.
  • Collaboration Tools: Co-author blogs with fellow engineers and streamline team writing efforts.
  • Blog Visibility Options:
    • Public: Visible to everyone.
    • Private: Only visible to the author.
    • Subscribers Only: Restricted to subscribed users.
  • Blog Management Tools:
    • Like, save, archive, delete, report, and share blogs easily.
  • Clean Responsive Design: Built with modern CSS practices for desktop and mobile usability.

(back to top)

Built With

  • Node.js
  • Express.js
  • PostgreSQL
  • EJS
  • Tailwind CSS
  • Google Auth
  • Google AI Studio
  • PayPal SDK
  • Cloudinary
  • Socket.IO
  • Render
  • Git
  • GitHub

(back to top)

Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

Before you begin, ensure the following tools and services are installed and set up on your system:

  • Node.js: Download Node.js – LTS version recommended for stability.
  • PostgreSQL: Install and configure PostgreSQL for managing the platform's relational data. Download PostgreSQL
  • npm or yarn: Comes with Node.js; used to install project dependencies.
  • Git: Download Git to clone and manage the repository.
  • Render Account: Required for deploying the backend or frontend. Sign up at Render.
  • Google Cloud Project:
    • Set up for Google Authentication and Google AI Studio integration.
    • Follow the official guide to configure OAuth 2.0 credentials.
  • PayPal Developer Account: To enable blog monetization via featured content. Set up at developer.paypal.com.
  • Cloudinary Account: For uploading and managing blog-related media content. Sign up here.

Ensure you also have a basic understanding of the following:

  • EJS: Templating engine used to render dynamic views on the server side.
  • Tailwind CSS: Utility-first CSS framework used for styling and building responsive, modern UI components.

Installation

Follow these steps to set up the project locally:

  1. Clone the Repository

    git clone https://github.com/akash85246/Engineer-Insights.git
    cd Engineer-Insights
    
  2. Install Dependencies

    npm install
  3. Set Up Environment Variables

    JWT_SECRET=
    EMAIL=
    EMAIL_PASSWORD=
    PAYPAL_MODE=sandbox
    PAYPAL_CLIENT_ID=
    PAYPAL_CLIENT_SECRET=
    GOOGLE_AI_API_KEY=
    GOOGLE_CLIENT_ID=
    GOOGLE_CLIENT_SECRET=
    SESSION_SECRET=
    CLOUDINARY_CLOUD_NAME=
    CLOUDINARY_API_KEY=
    CLOUDINARY_API_SECRET=
    BASE_URL=
    USERNAME=
    PASSWORD=
    MONGODB_URI=
    PORT=8080
    GA_API_SECRET=
    GA_VIEW_ID=
    GA4_PROPERTY_ID=
    GOOGLE_PROJECT_ID=
    GOOGLE_CLIENT_EMAIL=
    GOOGLE_PRIVATE_KEY=
  4. Change git remote url to avoid accidental pushes to base project

    git remote set-url origin github_username/repo_name
    git remote -v # confirm the changes
  5. Run the Project

    nodemon app.js

(back to top)

Usage

Once the project is running, users can explore and interact with the following features:

  1. Google Authentication

    • Click the "Sign In with Google" button on the homepage.
    • Securely sign in using your Google account to access your personalized dashboard.
  2. Write & Share Blogs

    • Use the built-in markdown editor to write technical blogs.
    • Get AI-assisted writing support powered by Google AI Studio.
    • Blogs can be saved as drafts, published, or archived.
  3. Blog Visibility Options

    • Choose who can see your blog: Public, Private, or Subscribed-only.
  4. AI-Generated Summaries

    • Automatically generate blog summaries using Google AI Studio for quick previews and improved discoverability.
  5. Collaborate with Other Authors

    • Invite other registered users to co-author and write blogs together in real time.
  6. Feature Blogs (Monetization)

    • Pay via PayPal to feature your blog for 7 or 30 days and boost visibility on the platform.
  7. Explore & Discover

    • Use advanced search with filters like tags or title.
    • View Editor’s Picks, Top Authors, and Featured Blogs on the homepage.
  8. Engage with Content

    • Like, comment, report, save, archive, delete, and share blogs easily.
    • Social sharing enabled for each post.
  9. Analytics Dashboard

    • Access a personal analytics board showing:
      • Blog reach & engagement.
      • Country-wise and time-wise popularity.
      • Audience insights to improve future posts.
  10. Subscription Plans

    • Choose between Elite and Pro plans for exclusive content, features, and access to subscriber-only blogs.
  11. Responsive Design

    • The platform is fully responsive and optimized for desktop, tablet, and mobile viewing.

Additional Notes

  • Database: Ensure that your MongoDB instance is running. Use either a local MongoDB server or a cloud-hosted solution like MongoDB Atlas. Seed initial data if required for development.
  • Deployment: The app can be deployed to platforms like Render or Vercel. Make sure to set environment variables appropriately for production.
  • Customization: Use the .env file to modify configurations such as MongoDB URI, server port, Google credentials, PayPal keys, and other integrations.
  • Media Hosting: All media uploads (e.g., blog images) are handled via Cloudinary. Ensure that Cloudinary credentials are properly set in your environment.
  • Security: Avoid exposing sensitive credentials or private API keys in frontend code. Use server-side logic for secure integration.

(back to top)

Roadmap

Here are the planned improvements and features for the Engineer Insights platform:

  • Google Authentication for user login.
  • Two-Factor Authentication (2FA) for enhanced account security.
  • AI-assisted blog writing using Google AI Studio.
  • AI-generated summaries for blog posts.
  • Blog creation, editing, archiving, deleting, and saving as drafts.
  • Visibility controls: Public, Private, and Subscriber-only blogs.
  • Blog sharing via social media or direct link.
  • Collaborate with other authors to write blogs.
  • Monetize blogs via featured placements (7/30 days) using PayPal.
  • Subscription plans for exclusive content access (Elite & Pro).
  • Blog analytics dashboard with country-wise/time-wise insights.
  • User-friendly markdown editor.
  • Responsive design optimized for desktop and mobile.
  • Comment system for blog posts.
  • Notification system for collaborations and interactions.
  • Bookmark feature to save favorite blogs.
  • Admin dashboard for moderating reports and managing content/users.
  • Machine learning-based personalized blog recommendation system.

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would improve this project, feel free to fork the repository and submit a pull request. You can also open an issue with the label "enhancement".
Don't forget to ⭐ the project — thank you for your support!

How to Contribute

  1. Fork the Project

    • Click the "Fork" button at the top-right corner of this page to create a copy of the repository in your GitHub account.
  2. Clone the Repository

    git clone https://github.com/your-username/Engineer-Insights.git
  3. Create Your Feature Branch

    git checkout -b feature/YourFeatureName
  4. Commit Your Changes

    git commit -m "Add: Your descriptive feature message"
  5. Push to the Branch

    git push origin feature/YourFeatureName
  6. Open a Pull Request

Top Contributors

Top contributors

(back to top)

Contact

Akash Rajput - @akash_rajp91025 - akash.rajput.dev@gmail.com

Project Link: https://github.com/akash85246/Engineer-Insights

(back to top)

Acknowledgments

I would like to extend my gratitude to the following resources, tools, and individuals that made this project possible:

  • Google AI Studio – For enabling AI-assisted writing and content summarization.
  • Google Authentication – For secure and seamless user login.
  • MongoDB & Mongoose – For providing a scalable and flexible database solution.
  • Cloudinary – For effortless and reliable media storage and delivery.
  • PayPal Developer Platform – For powering monetization through featured blog promotions.
  • Render – For providing a simple and effective deployment solution.
  • Tailwind CSS – For the utility-first framework that helped build a clean and responsive UI.
  • Node.js – For being the backbone of the server-side application.
  • Express.js – For simplifying API development and server management.
  • EJS – For server-side templating and rendering dynamic content.
  • Socket.IO – For enabling real-time collaboration and interactivity.
  • Loaders.css – For lightweight and customizable loaders used during content fetch and loading screens.
  • Toastify.js – For elegant and simple toast notifications.
  • Udemy – For tutorials, project ideas, and technical deep-dives that helped sharpen development skills.
  • Open Source Community – For providing libraries, tools, and inspiration to build projects like this.

(back to top)

About

Engineer Insights is a markdown-based blogging platform designed for engineers to share their technical knowledge, daily experiences, and personal journeys in the field of engineering.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors