Skip to content

RickDeb2004/package-desktop

Repository files navigation

Desktop News Application

Description

The Desktop News Application is an Electron-based desktop application designed to fetch, display, and manage news articles. Built with Electron, React, Firebase, and Tailwind CSS, it offers a modern and responsive user interface for both news readers and administrators.

Features

  • News Browsing: Users can search for news articles based on various criteria.
  • Admin Portal: Administrators can add or delete news articles and categories.
  • Responsive Design: Utilizes Tailwind CSS for a responsive layout that adapts to different screen sizes.
  • Firebase Integration: Leverages Firebase for authentication and real-time database operations.
  • Electron Framework: Packaged as a desktop application that can run on multiple platforms.

Architecture Overview

The application is structured into several key directories and files, each serving a distinct purpose:

  • /src: Contains the source code for the web application part, including React components, Firebase setup, helper functions, and global styles.
  • /public: Houses static assets like CSS, images, and JavaScript, along with the main index.html entry point.
  • main.js: The Electron main process script that initializes the application window and handles system-level interactions.
  • package.json: Defines project metadata, dependencies, and scripts for building and running the application.

Setup and Installation

  1. Clone the Repository git clone https://github.com/rickdeb2004/package-desktop.git

  2. Install Dependencies Navigate to the project directory and run: npm install

  3. Run the Application npm run dev

How to Use

  • For Users: Launch the application to start browsing news articles. Use the search functionality to filter articles based on your interests.
  • For Administrators: Log in to access the admin portal where you can add or remove articles and categories.

Development

  • Adding New Features: Implement new features in the /src directory. Use React for UI components and Firebase for backend operations.
  • Styling: Modify /src/app/globals.css and use Tailwind classes within React components to adjust the application's appearance.

Contributing

Contributions to the Desktop News Application are welcome. Please follow the standard fork-and-pull request workflow for contributions.

License

This project is licensed under the MIT License.

Flowcharts

Given the text-based nature of this platform, I'll describe the flow instead of visual flowcharts:

  1. Application Initialization: main.js initializes the Electron app, creating a browser window that loads the React application hosted at https://package-desktop.vercel.app/.
  2. User Interaction Flow: Users interact with the React application (/src/app/page.jsx) to browse or search for news articles. The application communicates with Firebase to fetch or modify data.
  3. Admin Portal Flow: Administrators can log in (using Firebase authentication) to access admin-specific features, such as adding or deleting articles and categories.