Skip to content

Blog-style news portal application. This project is built using the PERN stack (PostgreSQL, Express, React, Node.js) and additional technologies like Elasticsearch, Docker, and Tailwind CSS. Components are almost entirely daisy UI.

Notifications You must be signed in to change notification settings

20101301-Alina-Hasan/News-Portal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 

Repository files navigation

📰 Blog-Style News Portal Application | The Newsletter Community

A blog-style news portal application allows users to view, create, search, filter, upvote, comment, and bookmark articles. This project uses the PERN stack (PostgreSQL, Express, React, Node.js) and additional technologies like Elasticsearch, Docker, and Tailwind CSS. Components are almost entirely daisy UI.


🔧 Features

  • 🔄 Single Page Application (SPA): Smooth, dynamic content updates without page reloads.
  • 🔑 User-Generated Content: Authenticated users can post news articles.
  • 🔍 Search and Filtering: Comprehensive search with filtering options for tags and keywords.
  • 📈 Upvoting and Bookmarking: Users can upvote articles and save them for later reference.
  • 💬 Commenting: Users can leave comments on articles to engage in discussions.

🚀 Inspiration

This project draws inspiration from Daily Dev, a blog portal designed for developers. The goal was to blend elements of:

  • 📢 Community-driven newsletters
  • 📳 Blog-style content curation

🤖 Tech Stack

  • Backend: Node.js, Express
  • Frontend: React (with TypeScript), Tailwind CSS, Daisy UI
  • Database: PostgreSQL, Sequelize ORM
  • Search Engine: Elasticsearch
  • Containerization: Docker

💡 Future Implementations

  • 🔖 Article Formatting: Integration with React Quill or a markup language for better article formatting.
  • 🛠️ In-place Editing: Edit articles directly on the page without form submission.
  • 🏷️ Tag Creation: Users can create and manage tags dynamically.

🛠️ Project Setup

⚡ Prerequisites

  • Node.js
  • Docker
  • PostgreSQL

👉 Installation

# Clone the repository
git clone https://github.com/20101301-Alina-Hasan/News-Portal.git
cd News-Portal

🌟 Running the Application

# Server
cd server
npm install
docker-compose up -d
npm run dev

# Client
cd client
npm install
npm run dev

🔍 Elasticsearch Setup

Ensure Elasticsearch is running on port 9200.


📽️ Presentation

Watch the project presentation on YouTube: News Portal Presentation


🛠️ Contributing

Contributions are welcome! If you'd like to add new features or fix bugs, feel free to submit a pull request.


📧 Contact

For questions or inquiries, reach out via [email protected].

About

Blog-style news portal application. This project is built using the PERN stack (PostgreSQL, Express, React, Node.js) and additional technologies like Elasticsearch, Docker, and Tailwind CSS. Components are almost entirely daisy UI.

Topics

Resources

Stars

Watchers

Forks