Commit graph

13 commits

Author SHA1 Message Date
042ce52b25
fix: use auto-install for server setup
Updated installation script to use "auto-install" instead of "install" to streamline server setup process. This change aims to enhance automation and reduce manual intervention steps during server installations. No functional difference expected but improves clarity in server management tasks.
2024-08-02 19:54:20 +02:00
6b756e04bb
fix: update path to manage.py in VSCode launch config
Updated the VSCode launch.json configuration to point to the correct location of manage.py within the coffeemachine directory. This ensures that the debug setups work correctly with the current project structure.
2024-08-02 19:54:00 +02:00
8b8795b0bd
chore: remove requirements.txt to centralize dependencies
Eliminated the requirements.txt file to centralize dependency management within the main configuration system. This simplifies dependency updates and ensures consistency across environments. Ensure to update your environment setup accordingly.
2024-08-01 14:25:58 +02:00
3b8a578cc8
feat: add project infrastructure and licensing
Added an MIT license to establish the project's open source nature.
Initialized a README file for project documentation.

Reorganized project directory by moving manage.py to a 'coffeemachine' subdirectory.
Set up `pyproject.toml` using Poetry with necessary dependencies for the project environment, including Django and associated libraries for various functionalities (e.g., REST framework, storage, and authentication).

This setup provides a structured foundation for further development.
2024-08-01 14:25:39 +02:00
37a41a7011
feat(servers): improve form UI/UX
Enhanced the server installation form's user interface and user experience by explicitly using labels for all form fields and leveraging the Django form tags library to add CSS classes. This change makes the form more accessible and visually consistent, meeting modern web standards. The use of `add_class` from `form_tags` ensures that each form element is styled properly, providing a better interaction experience for users.

This update addresses accessibility concerns and aims for a cleaner, more navigable form layout, making it easier for users to understand and fill out the necessary information for server installation.
2024-06-05 18:58:54 +02:00
ce520b914a
feat: enhance GameServer installation flow
Improved the game server installation process by implementing several key changes. Added support for optional installation paths in the GameServer model, form, and installation view. This allows users to leave the installation path empty and use a default path, improving usability and flexibility. Additionally, updated the form validation to accept empty paths and provided a user-friendly widget placeholder in the form to guide users.

Included a new migration to reflect the optional installation path in the database schema. Updated the installation view to automatically determine the installation path based on settings if not specified by the user.

Enhanced the script download process in the installation view by setting a custom User-Agent header. This addresses potential issues with servers that block the default Python User-Agent.

Added CSRF_TRUSTED_ORIGINS settings dynamically based on ALLOWED_HOSTS to enhance security. Also updated the .gitignore to exclude the newly introduced default game servers directory from version control.

These changes collectively streamline the setup process for new game servers, provide clearer guidance to users, and ensure compatibility with a broader range of hosting configurations.
2024-06-05 18:58:17 +02:00
6778c2a2fb
feat(migrations): Add initial GameServer model
This commit introduces the initial migration for the GameServer model within the coffee machine project, laying the groundwork for future development and data modeling. The model includes essential fields such as name, game, status (with predefined choices), installation path, and an optional field for custom script content. This foundational step is crucial for setting up the database structure needed to manage game server instances effectively, allowing for better organization, tracking, and manipulation of server data as the project evolves.

The decision to include a status field with predefined choices enhances data integrity and facilitates the implementation of server management logic, paving the way for more efficient and error-resistant operations.
2024-06-05 17:00:02 +02:00
de8247e14e
feat(urls): add server routes and root redirect
Added routing for server-related URLs and a redirect from the root URL to the servers page. This change improves navigation within the CoffeeMachine app, making it more intuitive for users to find the server management section right from the homepage. It directly impacts user experience by streamlining access to the servers list without additional navigation steps.
2024-06-05 16:59:44 +02:00
b061569bce
feat(servers): Add GameServerForm for server management
Introduced a new form `GameServerForm` in the `coffeemachine` project to streamline the management of game servers. This form supports adding either new or existing servers, with options to upload or directly input custom scripts. Key validations include ensuring the installation path is absolute and preventing simultaneous provision of both script file and content to avoid conflicts. This enhancement simplifies the setup process for administrators and reinforces data integrity checks.
2024-06-05 16:59:29 +02:00
a41468afee
feat(settings): add STATICFILES_DIRS configuration
Added STATICFILES_DIRS to the Django settings to specify additional directories where Django will look for static files, apart from the static/ directory. This change allows for better organization and management of static files, specifically by including project-specific assets located in the coffeemachine/static directory. This update facilitates the development process by ensuring that static files are efficiently managed and served during development.
2024-06-05 16:59:10 +02:00
03a9d3be66
feat(servers): update install server page template
Refactor install server page to extend from a more specific base template located within the servers module. This change improves template organization and maintainability by ensuring server-related pages derive from a dedicated server template, facilitating consistent styling and functionality across all server management interfaces.
2024-06-05 16:58:48 +02:00
337951f1da
feat: enable static file loading in base template
Introduced Django's static file loader tag in the base HTML template to support loading of CSS, JavaScript, and other static files throughout the application. This change is essential for integrating frontend assets seamlessly, enhancing the functionality and user experience of the site.

This modification allows for a more structured and organized way of managing static content, improving the development workflow and making the site more maintainable and scalable.
2024-06-05 16:58:34 +02:00
9ff6278ba1
feat: add Django project & VSCode config for enhanced development workflow
Introduce the initial Django project setup alongside necessary configurations for VSCode, laying the groundwork for a robust development environment. This includes project scaffolding (`coffeemachine` app), ASGI configuration for async support, and a model example for game servers, demonstrating Django's ORM capabilities. Additionally, we integrate Bootstrap for frontend styling and configure `.gitignore` for Python/Django standard exclusions, ensuring a cleaner repository state. The VSCode launch configuration is tailored for Django, facilitating debugging and enhancing the developer experience within the IDE.

This structured approach not only accelerates the setup phase for new developers but also ensures consistency across environments, fostering a more collaborative and efficient development process.
2024-06-05 15:35:47 +02:00