Skip to content

Chore todo optimization#64

Merged
ColinMichaels merged 24 commits into
masterfrom
chore-todo-optimization
Feb 28, 2026
Merged

Chore todo optimization#64
ColinMichaels merged 24 commits into
masterfrom
chore-todo-optimization

Conversation

@ColinMichaels
Copy link
Copy Markdown
Owner

No description provided.

ColinMichaels and others added 23 commits May 30, 2025 20:07
Refined `.gitignore` to include specific environment files, replacing the generic folder exclusion. Introduced `environments.example.ts` with placeholder values for API keys and configurations to provide a template for setup.

Signed-off-by: Colin Michaels <colin@colinmichaels.com>
Update environment configuration and add example environment file
Adding environment vars to actions
**Integrate Background Service and Chat Module with Firebase enhancements**

- Added `BackgroundExampleComponent`, `FullScreenBackgroundComponent`, and `BackgroundService` for advanced background management, including video, image, and parallax configurations.
- Introduced a new `ChatBotService` to manage chat functionalities, supporting messages, reactions, and real-time chat features.
- Updated environment configuration files (`environment.ts`, `environment.local.ts`, `environment.dev.ts`, `environment.prod.ts`) with Firebase database URL and API keys.
- Enhanced Firebase compatibility by upgrading dependencies (`firebase: ^11.8.1`).
- Refactored appearance settings in `AppearanceSettingsComponent`, removing unused methods (`getThemeClass()`), and added debug logs.
- Added new helper logic in `SettingsService` for improved form syncing, with comprehensive logging for debugging.
- Included placeholder-based example environment for easier setup (`environments.example.ts`).

**Signed-off-by:** Colin Michaels <colin@colinmichaels.com>

Signed-off-by: Colin Michaels <colin@colinmichaels.com>
…se and UI enhancements

- Implemented `FirestoreService` to streamline Firestore operations, including document CRUD operations, real-time updates, and file management in Firebase Storage.
- Added `FullScreenBackgroundComponent` with support for video, image, gradient, and parallax background functionalities. Integrated video providers such as YouTube and Vimeo with customizable configurations.
- Included unit tests for `FirestoreService` and `FullScreenBackgroundComponent` to ensure reliability and maintainability.
- Enhanced modularity and reusability by following Angular's best practices and incorporating RxJS for handling asynchronous operations.

**Signed-off-by:** Colin Michaels <colin@colinmichaels.com>

Signed-off-by: Colin Michaels <colin@colinmichaels.com>
Integrate background service and chat module with Firebase
- Deleted the `polyfills-FFHMD2TL.js` file from the Firebase hosting configuration as it is no longer required.
- Cleaned up unnecessary assets to streamline the hosting setup and reduce potential maintenance overhead.

Signed-off-by: Colin Michaels <colin@colinmichaels.com>
…le handling

- Created a GitHub Actions workflow (`firebase_deployment_workflow.yml`) to automatically deploy the application to Firebase Hosting on pushes to the `main` branch.
  - Includes steps for Node.js setup, dependency installation, build process, and deployment.
  - Added secure integration via GitHub Secrets for sensitive environment variables.
- Updated `environment.ts` to use environment variables for Firebase and third-party API configurations, removing hard-coded sensitive data.
- Refined `.gitignore` to exclude `.env` files and environment-specific configuration files for better security and maintainability.

**Signed-off-by:** Colin Michaels <colin@colinmichaels.com>

Signed-off-by: Colin Michaels <colin@colinmichaels.com>
Signed-off-by: Colin Michaels <colin@colinmichaels.com>
…t and production

- Added `environment.dev.ts` and `environment.prod.ts` to segregate environment-specific configurations.
- Defined placeholders for `APP_TITLE`, `API_URL`, Firebase credentials, and API keys to enhance security and flexibility.
- Updated `.gitignore` to exclude environment configuration files (`environment.dev.ts` and `environment.prod.ts`) to avoid committing sensitive information.

This change improves maintainability, aligns with best practices, and supports better environment handling for deployments.

**Signed-off-by:** Colin Michaels <colin@colinmichaels.com>

Signed-off-by: Colin Michaels <colin@colinmichaels.com>
### Introduce separate environment configuration files for developmen…
- Updated `environment.ts`, `environment.dev.ts`, and `environment.prod.ts` to replace `process.env` bindings with placeholder values for configurations like `APP_TITLE`, `APP_API_URL`, Firebase credentials, and API keys.
- Removed reliance on dynamic environment variables for streamlined configuration setup and improved clarity in local, development, and production environments.
- Included comments to guide users in properly configuring environment values during setup.

This change enhances security by removing hardcoded fallback values and simplifies the onboarding process for developers.

Signed-off-by: Colin Michaels <colin@colinmichaels.com>
### Replace environment variable bindings with placeholder values
- Replaced hardcoded GitHub URL in `projects-overview.component.html` with dynamic binding using the `githubUrl` property for better reusability and maintainability.
- Updated the `githubUrl` value in `main.component.html` to point to the appropriate repository (`ColinMichaels-Angular`).

**Signed-off-by:** Colin Michaels <colin@colinmichaels.com>

Signed-off-by: Colin Michaels <colin@colinmichaels.com>
### Update GitHub URL logic in Projects Overview and Main components
- Added testing utilities to multiple component and service tests:
  - Integrated `provideHttpClient` and `provideHttpClientTesting` in `weather`, `dock`, and `finder-app` component tests to enable HTTP testing capabilities.
  - Added `RouterTestingModule` to `projects-overview.component.spec` for router-related tests.
  - Mocked dependencies with Jasmine spies in unit tests for `auth.service`, `home-terminal-window.component`, and `cli-game.component`.
- Refactored `auth.service` to gracefully handle the absence of Firebase services by making `Auth` injection optional and introducing fallback behaviors.
- Wrapped Firebase Firestore and Storage calls in helper methods within `firestore.service` to improve testability and maintain runtime behavior consistency.
- Enhanced `firestore.service` to handle optional Firestore injection and replaced direct Firestore method calls with wrapper functions, enabling streamlined mocking for tests.
- Made `realtime-db.service` initialization conditional to allow null-safe usage.

These changes improve test reliability, maintainability, and resilience, enabling easier mocking and dependency injection for unit testing.

Signed-off-by: Colin Michaels <colin@colinmichaels.com>
@ColinMichaels ColinMichaels self-assigned this Feb 28, 2026
@ColinMichaels ColinMichaels merged commit a17ea61 into master Feb 28, 2026
1 check failed
@sonarqubecloud
Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
9 Security Hotspots
6.2% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant