Skip to content

BeefHitTheFan/Newsly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NewsLy - Your Personalized News Aggregator

License: MIT React Django Tailwind CSS Material UI

📰 Overview

NewsLy is a modern news aggregation web application that allows users to discover, filter, and save articles from various news sources around the world. With a sleek dark-themed interface and powerful filtering capabilities, NewsLy makes it easy to stay informed about topics that matter to you.

NewsLy Screenshot

✨ Features

  • User Authentication - Create an account and securely log in
  • Multi-Source Aggregation - Browse news from numerous sources in one place
  • Advanced Filtering - Filter by keyword, source, domain, language, and date
  • Article Saving - Save interesting articles to your personal collection
  • Responsive Design - Seamless experience across desktop and mobile devices
  • Dark Theme - Easy on the eyes for extended reading sessions

🛠️ Technologies

Backend

  • Django - Robust Python web framework
  • SQLite - Lightweight database for user data and preferences
  • News API - Real-time access to headlines and articles
  • CORS Headers - Secure cross-origin requests

Frontend

  • React - Modern, component-based UI library
  • Material UI - Polished UI components
  • Tailwind CSS - Utility-first CSS framework
  • React Icons - Beautiful icon set
  • Vite - Fast build tooling

🚀 Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • Python (v3.8 or higher)
  • pip (Python package manager)

Installation

Backend Setup

  1. Clone the repository

    git clone https://github.com/yourusername/newsly.git
    cd newsly
  2. Create and activate a virtual environment

    python -m venv env
    # On Windows
    env\Scripts\activate
    # On macOS/Linux
    source env/bin/activate
  3. Install dependencies

    pip install -r requirements.txt
  4. Run migrations

    cd platform_app
    python manage.py migrate
  5. Start the Django server

    python manage.py runserver

Frontend Setup

  1. Navigate to the frontend directory

    cd news_frontend
  2. Install NPM packages

    npm install
  3. Start the development server

    npm run dev
  4. Open your browser and navigate to:

    http://localhost:5173
    

📋 Usage

User Registration and Login

  • Create a new account by clicking "Sign Up" on the login screen
  • Enter your username, email, and password to register
  • Use your credentials to log in to the application

Searching for News

  • Use the filter form to search by keyword, source, or domain
  • Apply additional filters such as language, date range, and content type
  • Click "Search" to retrieve matching articles

Saving Articles

  • Click the "Save" button next to any article to add it to your collection
  • View your saved articles in the "Saved Collection" sidebar
  • Click "View" to open the original article in a new tab

Expanding Article Details

  • Click on any article row to view additional details
  • See the full description, content preview, and article image
  • Access the original source via the "Read more" link

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

👏 Acknowledgements


About

NewsLy is a modern news aggregation web application that allows users to discover, filter, and save articles from various news sources around the world. With a sleek dark-themed interface and powerful filtering capabilities, NewsLy makes it easy to stay informed about topics that matter to you.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors