diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..3dc535d --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,86 @@ +# Contributing to Software Manager + +We appreciate all contributions, whether they are bug fixes, UI improvements, or new features. + +## How to Contribute + +### 1. Fork the Repository + +- Fork the repository to your own GitHub account by clicking the "Fork" button on the top-right of the project page. + +### 2. Clone Your Fork + +- Clone your forked repository to your local machine: + ```bash + git clone git@github.com:acmpesuecc/Night-Manager.git + cd Night-Manager + ``` + +### 3. Create a Branch for Your Contribution + +- Create a new branch for your contribution: + ```bash + git checkout -b issue-description + ``` + +### 4. Make Your Changes + +- Make your changes to the code. +- Ensure that the code follows the existing code style. +- Address the specific issue you're working on. Here are some current open issues: + +#### Current Issues + +- **Issue 1**: Ensure terminal widget reflects actual package operations (install/uninstall). +- **Issue 2**: Remove unnecessary or redundant packages from the list. +- **Issue 3**: UI enhancements such as resizing, improving visibility, and responsiveness. +- **Issue 4**: Implement package installation/uninstallation logic using `pacman`. +- **Issue 5**: Add support for the Arch User Repository (AUR). +- **Issue 6**: Add a warning when attempting to download/install from the AUR (must be done after resolving terminal issues). +- **Issue 7**: Add package search functionality using `yay -Ss`. + +### 5. Test Your Changes + +- Make sure to test the functionality thoroughly: + - Test installing and uninstalling packages. + - Ensure the terminal output works as expected. + - Make sure the UI behaves correctly and is responsive. + +### 6. Commit Your Changes + +- Commit your changes with a meaningful commit message: + ```bash + git add . + git commit -m "Fix issue #X: Description of what you've fixed/added" + ``` + +### 7. Push to Your Fork + +- Push your changes to your forked repository: + ```bash + git push origin issue-description + ``` + +### 8. Create a Pull Request + +- Go to the original repository on GitHub and create a pull request. Please ensure your PR includes a description of what you did and references the issue it solves (if applicable). + +### 9. Get Feedback + Wait for a maintainer to review your pull request (PR) and provide feedback. + +### 10. Gain Bounty Points :) + If everything is approved, your issue will be closed, and you'll gain bounty points on the leaderboard! + +--- + +## Code of Conduct + +We expect contributors to be respectful to others, and help maintain a welcoming environment. + +## Reporting Issues + +- If you encounter bugs, feel free to open an issue on the GitHub Issues page. Be sure to include a clear description of the problem and steps to reproduce it. + +--- + +Thank you for contributing to Night Manager! diff --git a/OneDrive/Desktop/HackNight 6.0/Night-Manager b/OneDrive/Desktop/HackNight 6.0/Night-Manager new file mode 160000 index 0000000..1b86bf6 --- /dev/null +++ b/OneDrive/Desktop/HackNight 6.0/Night-Manager @@ -0,0 +1 @@ +Subproject commit 1b86bf6fcec80374dc01ae61f9e1b9e65de50996 diff --git a/README.md b/README.md new file mode 100644 index 0000000..e9671bd --- /dev/null +++ b/README.md @@ -0,0 +1,71 @@ +# Night Manager + +A GTK-based Software Manager that provides a graphical interface for managing packages on an Arch-based system. It integrates with `pacman` and will eventually include AUR support to install and remove packages directly from the application, with a built-in terminal for transparency. + +## Features + +- Browse available packages using `pacman`. +- View detailed information about each package. +- Install and uninstall packages. +- Integrated terminal to show package management logs. +- Future support for AUR with warning prompt. +- Basic search functionality (WIP). + +## Getting Started + +### Prerequisites + +- GTK 3 +- VTE Terminal +- Arch Linux or any Arch-based distribution (for testing, feel free to use a vm, or request help on the same) +- `pacman` and optionally `yay` for AUR support + +### Installation + +1. Clone the repository: + ```bash + git clone git@github.com:acmpesuecc/Night-Manager.git + cd Night-Manager + ``` + +2. Install dependencies (for linux): + ```bash + + sudo pacman -S gtk3 vte3 base-devel + ``` + +3. Compile and run the software: + ```bash + gcc -o software-manager software_manager.c $(pkg-config --cflags --libs gtk+-3.0 vte-2.91) + ./software-manager + ``` + +### Usage + +- Select a package from the list to view its details. +- Use the `Install` button to install the selected package. +- Use the `Uninstall` button to remove an installed package. +- Toggle the built-in terminal to see the `pacman` logs during installation and uninstallation. + +### Roadmap + +#### Issues +- [ ] **Issue 1**: Terminal output should reflect actual package management operations. +- [ ] **Issue 2**: Remove unneeded or redundant packages from the list. +- [ ] **Issue 3**: UI Enhancements for better user experience. +- [ ] **Issue 4**: Implement actual functionality to install/uninstall packages. +- [ ] **Issue 5**: Include support for installing packages from AUR. +- [ ] **Issue 6**: Show a warning when installing from AUR. +- [ ] **Issue 7**: Add package search functionality (e.g., via `yay -Ss`). + +### Contact +6366250274 for any queries or assistance +### Contributing + +We welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on how to contribute to this project. + +--- + +## License + +This project is licensed under the GNU General Public License V3 - see the [LICENSE](LICENSE) file for details.