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.
- 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.
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 mainindex.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.
-
Clone the Repository git clone https://github.com/rickdeb2004/package-desktop.git
-
Install Dependencies Navigate to the project directory and run:
npm install
-
Run the Application
npm run dev
- 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.
- 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.
Contributions to the Desktop News Application are welcome. Please follow the standard fork-and-pull request workflow for contributions.
This project is licensed under the MIT License.
Given the text-based nature of this platform, I'll describe the flow instead of visual flowcharts:
- Application Initialization:
main.js
initializes the Electron app, creating a browser window that loads the React application hosted athttps://package-desktop.vercel.app/
. - 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. - Admin Portal Flow: Administrators can log in (using Firebase authentication) to access admin-specific features, such as adding or deleting articles and categories.