- Introduced the FetchCryptoCurrencyRates job in the Console Kernel to facilitate the fetching of cryptocurrency rates.
- This addition enhances the scheduled tasks functionality, allowing for better integration of cryptocurrency data within the application.
- Removed the custom rate limiter for API requests in RouteServiceProvider, simplifying the boot method.
- This change streamlines the routing setup and prepares for potential future enhancements in request handling.
- Added a new job to fetch crypto currency rates from an external source and store them in a JSON file.
- Updated the CurrencyController to include methods for retrieving current crypto currency rates and rates by name.
- Enhanced the API to return detailed metadata for crypto currency rates, including timestamps and update information.
- Updated the API routes to support new endpoints for crypto currency rates.
- Modified the merged rates JSON to include crypto currency data alongside existing currency and gold rates.
- Improved the welcome view to display additional crypto currency information, enhancing user experience.
These changes collectively expand the functionality of the Truncgil Finance application, providing users with comprehensive access to crypto currency data.
- Implemented a custom throttle middleware to limit requests to 2 per 30 seconds, enhancing API stability.
- Updated API responses to include Turkish messages for successful updates and error handling.
- Refactored the CurrencyController to integrate the new throttling logic and improve response clarity.
- Enhanced the Scribe documentation to reflect changes in API behavior and response formats.
- Updated views to improve branding and user experience, including dynamic content adjustments.
These changes collectively improve the API's performance, usability, and branding for the Truncgil Finance application.
- Updated API responses for currency and gold rates to include the latest data and improved metadata, ensuring accurate and informative responses.
- Added a new view for displaying currency rates, enhancing the user interface with dynamic data presentation.
- Updated the welcome view to integrate the new currency display and improved layout for better user experience.
- Changed the logo in the Scribe configuration to a new light SVG for better visual consistency.
- Enhanced styling in the welcome view and currency display for a modern look and feel.
These changes collectively improve the functionality, usability, and branding of the Truncgil Finance application.
- Updated the Scribe configuration to use a new theme and included a logo for better visual identity.
- Enhanced the welcome view by linking to the new manifest and updating the background image source for improved accessibility.
- Refactored API documentation to include updated response formats and example values, ensuring clarity and usability.
- Improved the layout and structure of the Scribe documentation pages for a more responsive design.
These changes collectively enhance the branding, accessibility, and usability of the Truncgil Finance application.
- Updated the existing logo SVG file to improve its structure and styling, including changes to the DOCTYPE and color definitions.
- Refactored the logo paths and styles for better performance and visual consistency across the application.
These changes improve the visual identity of the Truncgil Finance application, ensuring a modern and cohesive branding experience.
- Updated the title in the welcome view to reflect the new branding.
- Replaced the existing logo in the welcome view with the newly added SVG logo.
- Modified the background image alt text for better accessibility.
- Updated footer information to display the Truncgil Finance version instead of Laravel.
- Enhanced the welcome view layout by removing unnecessary elements and improving the overall structure.
These changes enhance the branding and user experience of the Truncgil Finance application.
- Added NTP service initialization to ensure accurate time synchronization within the container.
- Modified cron job command to run all fetch tasks, improving scheduled task management.
- Included additional echo statements for better logging during the setup process.
These changes improve the Docker environment's reliability and enhance the functionality of scheduled tasks in the Laravel application.
- Added metadata to the responses, including timestamps and the time since the last update, improving data context for users.
- Enhanced method descriptions with relevant emojis for better readability and understanding.
- Refactored response handling to ensure consistent JSON structure across all rate retrieval methods.
- These changes improve the clarity and usability of the API, providing users with more informative responses.
- Updated the Docker Compose file to specify the latest image tag for the application.
- Commented out the Laravel migration commands in the Dockerfile to prevent automatic migrations during container build, enhancing control over the deployment process.
- These changes improve the Docker setup and provide better management of the Laravel application lifecycle.
- Renamed Dockerfile to lowercase for consistency and clarity.
- Introduced a new Dockerfile for the Laravel application, utilizing PHP 8.2 and installing necessary dependencies, including NTP for time synchronization.
- Removed the docker-entrypoint.sh script, which previously generated API documentation, streamlining the container startup process.
- Updated API documentation with new response formats and example values for `currencyName` and `goldName`, enhancing clarity and usability.
- Adjusted endpoint responses to reflect the latest currency and gold rates, ensuring accurate data delivery.
These changes improve the Docker environment and enhance the API's documentation and response accuracy, contributing to a more robust application setup.
- Changed the command description to provide a clearer understanding of its functionality, specifying that it runs all fetch jobs for currency and gold rates. This enhances documentation and usability for developers interacting with the command.
- Introduced two new endpoints: `/api/server-time` and `/api/server-date` to retrieve the current server time and date.
- Enhanced the existing currency and gold rates endpoints to return a 200 status with updated response formats, replacing previous 404 error messages.
- Updated example values for `currencyName` and `goldName` in the API documentation for improved clarity.
- Improved overall API functionality and user experience by providing accurate and accessible time-related information.
- Introduced two new API endpoints: `/server-time` and `/server-date` in the `api.php` routes file.
- Integrated `TimeDateController` to handle requests for current server time and date.
- Enhanced API functionality by providing users with easy access to server time and date information.
<message>
- Introduced TimeDateController with two new endpoints: `/server-time` and `/server-date`.
- Implemented methods to return the current server time and date in JSON format.
- Enhanced API functionality by providing easy access to server time and date information.
- Added NTP package installation to synchronize time within the container.
- Configured a cron job for automatic time updates, improving time accuracy for scheduled tasks.
- Updated file permission settings and added echo statements for better logging and clarity during setup.
These changes enhance the Docker environment by ensuring accurate timekeeping, which is crucial for scheduled tasks in the Laravel application.
- Introduced a new Dockerfile utilizing PHP 8.2 for the Laravel application.
- Configured timezone settings and installed necessary dependencies including Git, cURL, and PHP extensions.
- Set up cron jobs for Laravel task scheduling and included Composer for dependency management.
- Implemented file permission settings to enhance security and functionality across application directories.
- Added commands for Laravel application initialization, including migration, key generation, and caching operations.
- Included a custom entrypoint script to streamline container startup processes.
These changes establish a robust Docker environment for the Laravel application, improving deployment and operational efficiency.
- Changed the base URL in the introduction documentation from `http://localhost:8000` to `https://finance.truncgil.com` for accurate API access.
- Updated the `.filehashes` to reflect changes in the `intro.md` file.
- Modified API endpoint responses to return a 404 status with a more user-friendly error message: "Data not found" instead of "Currency not found".
- Revised example values for `currencyName` and `goldName` in the API documentation to improve clarity and usability.
- Added a new Nginx configuration file to set up server parameters for the application.
- Adjusted file permissions for various `.gitignore` files to enhance security.
These changes improve the accuracy of the API documentation and enhance the overall user experience when interacting with the API.
- Restored the route for the 'run-all-fetchs' method in the CurrencyController, enabling the endpoint for fetching all currency and gold rates.
- This change enhances the API functionality by making the route accessible for clients, improving the overall user experience in managing financial data.
- Wrapped job dispatching calls in a try-catch block to handle potential exceptions during the fetching of currency and gold rates.
- Added JSON response for both success and error scenarios, improving the API's feedback mechanism for clients.
- Updated method documentation to reflect the return type of the method.
These changes improve the robustness and user experience of the currency and gold rates update process.
- Introduced a new script to automate the generation of API documentation using the `php artisan scribe:generate` command.
- This addition streamlines the process of keeping API documentation up-to-date, enhancing developer experience and project maintainability.
- Changed stability-flags from an array to an object for better compatibility with Composer.
- Updated platform-dev from an array to an object to align with the latest Composer standards.
These changes ensure the composer.lock file adheres to the expected format, improving dependency management.
- Introduced a new .htaccess file to enforce HTTPS by redirecting all HTTP requests to their HTTPS counterparts.
- This change enhances security by ensuring that all traffic to the application is encrypted.
- Changed the Docker image for the app service to 'truncgil-finance-app' and updated the container name accordingly.
- Modified the web service to use 'truncgil-finance-web' and changed the port mapping to 8081.
- Upgraded the database image to MySQL 8.0 and updated the container name to 'truncgil-finance-db', adding a restart policy.
- Added environment variables for timezone and application settings in the app service.
- Updated the Dockerfile to use PHP 8.2, added necessary dependencies, and configured cron jobs for Laravel tasks.
- Enhanced file permission settings for the application directory to improve security and functionality.
These changes improve the overall configuration and performance of the Laravel application within the Docker environment.
- Updated response content for currency and gold rates to reflect the latest values as of January 20, 2025.
- Revised example values in URL parameters for `currencyName` and `goldName` to provide more realistic usage scenarios.
- Enhanced overall clarity and consistency in API responses, improving usability for developers interacting with financial data.
These changes ensure the API provides accurate and up-to-date information, facilitating better management of financial data.
- Added commands to set ownership and permissions for the /var/www directory and its subdirectories, ensuring proper access for the web server.
- This change improves security and functionality by configuring the environment for the Laravel application.
- Revised endpoint titles to enhance clarity and consistency, including updates to titles for retrieving all merged currency rates, current currency rates, and gold rates.
- Adjusted example values in URL parameters for better guidance on usage, ensuring they reflect realistic scenarios.
- These changes improve the overall usability and organization of the API, facilitating better management of financial data.
- Updated PHPDoc comments for methods to enhance clarity, specifically for `getAllRates`, `getCurrentRates`, `getGoldRates`, `getCurrencyRateByName`, and `getGoldRateByName`.
- Removed commented-out job dispatching code to streamline the `getAllRates` method.
- Adjusted method descriptions to be more concise and focused on their functionality.
These changes enhance the maintainability and readability of the CurrencyController, facilitating better management of financial data.
- Enhanced endpoint titles and descriptions for clarity, including detailed titles for retrieving merged currency rates, current currency rates, and gold rates.
- Added new endpoints for fetching current gold rates and specific gold rates by name, improving access to gold data.
- Updated response error messages to be more user-friendly and consistent.
- Improved example values in URL parameters for better guidance on usage.
These changes enhance the API's usability and organization, facilitating better management of financial data.
- Commented out the '/run-all-fetchs' endpoint to prevent its usage while maintaining the '/today.json' endpoint for fetching all rates.
- Rearranged the '/gold-rates' endpoint to ensure it is defined after the '/currency-rates' endpoints for better organization.
- Ensured all existing endpoints for currency and gold rates remain functional, enhancing the API's structure and maintainability.
These changes improve the clarity and organization of the API routes, facilitating better management of financial data.
- Added comprehensive PHPDoc comments to all methods in the CurrencyController for better code clarity and maintainability.
- Introduced new methods: `getAllRates`, `getCurrentRates`, `getGoldRates`, `getCurrencyRateByName`, and `getGoldRateByName` to improve data retrieval from JSON files.
- Ensured all methods return appropriate JSON responses, enhancing the API's usability.
These changes improve the overall documentation and functionality of the CurrencyController, facilitating better management of financial data.
- Replaced the '/today.json' endpoint with '/run-all-fetchs' to trigger fetching jobs for currency and gold rates.
- Updated the '/today.json' endpoint to now call 'getAllRates' for improved data retrieval.
- Added new endpoints for '/gold-rates' and '/gold-rates/{goldName}' to enhance access to gold rate data.
- Maintained existing '/currency-rates' and '/currency-rates/{currencyName}' endpoints for current currency rates.
These changes improve the API's functionality and organization, facilitating better management of financial data.
- Replaced the `getCurrentRates` method with `runAllFetchs` to dispatch fetching jobs for currency and gold rates synchronously.
- Added `getAllRates`, `getGoldRates`, and `getGoldRateByName` methods to improve data retrieval from respective JSON files.
- Updated error messages for clarity and consistency.
- Streamlined JSON file handling by using variables for file paths, enhancing maintainability.
These changes improve the CurrencyController's functionality and organization, facilitating better management of financial data.
- Added an 'Update_Date' field to store the current timestamp when fetching gold rates.
- Refactored gold name formatting to ensure consistency by converting names to uppercase and replacing specific substrings with standardized abbreviations.
- Improved maintainability by using a full name variable for gold types before abbreviation.
These changes enhance the data structure and clarity of the gold rates fetched by the application.
- Introduced a new helper class `NumberFormatter` with a method `commaToDot` to convert numbers formatted with commas to a dot notation.
- The method also trims whitespace and removes percentage signs for cleaner data handling.
This commit enhances the application's ability to process numerical data consistently, supporting future financial data operations.
- Introduced a new console command `RunAllFetchs` to streamline the execution of `FetchCurrencyRates`, `FetchGoldRates`, and `MergeCurrencyAndGoldRates` jobs.
- Implemented synchronous dispatching of jobs with timing results displayed in a table format for performance monitoring.
- This command enhances the application's ability to fetch and merge financial data efficiently in a single execution step.
- Changed the scheduling frequency of the FetchCurrencyRates job from hourly to every minute.
- Added FetchGoldRates and MergeCurrencyAndGoldRates jobs to the schedule, ensuring they also run every minute.
- Introduced a new method `runScheduledCommands` to encapsulate the scheduling logic for better organization and maintainability.
This commit enhances the application's ability to fetch and merge financial data in a timely manner.
- Added the `FetchGoldRates` job to retrieve gold rates and the `MergeCurrencyAndGoldRates` job to combine currency and gold rates.
- Updated the `getCurrentRates` method to read from a new JSON file `merged/rates.json` instead of the previous `currency/today.json`.
- Commented out the synchronous dispatch of the fetching jobs for future implementation.
This commit enhances the CurrencyController's functionality by preparing it for integrated financial data management.
- Introduced a new job class `MergeCurrencyAndGoldRates` to handle the merging of currency and gold rate data.
- Implemented a method to retrieve data from JSON files stored in the application.
- Merged the fetched currency and gold data into a single array.
- Stored the combined data in a new JSON file for easy access and further processing.
This commit enhances the application's ability to manage and utilize financial data by integrating currency and gold rates into a unified format.
- Introduced a new job class `FetchGoldRates` to handle the fetching of gold rates from an external source.
- Implemented data extraction using DOM parsing to retrieve relevant gold rate information.
- Utilized `NumberFormatter` for consistent number formatting of the fetched values.
- Stored the processed gold rates in a JSON file for easy access and further processing.
- Enhanced the maintainability of the code by organizing the fetching logic and data handling.
This commit establishes a foundation for integrating gold rate data into the application.
- Introduced a new helper method `fetchData` to streamline HTTP requests for currency data.
- Replaced direct HTTP calls with the new `fetchData` method for better code organization.
- Utilized `NumberFormatter` for consistent number formatting, replacing the previous `virgulToNokta` method.
- Enhanced data handling for currency rates, ensuring proper type casting and rounding for values.
- Removed commented-out code related to gold rates to clean up the implementation.
These changes enhance the maintainability and readability of the currency fetching logic.
- Updated the introduction in `intro.md` to provide a clearer overview of the application and its features.
- Added new API endpoints in `00.yaml` for retrieving today's currency rates and specific currency rates by name, enhancing the API's functionality.
- Removed outdated documentation files including `collection.json`, `index.html`, `openapi.yaml`, and associated CSS and JS files to streamline the project structure.
- Updated the `.filehashes` to reflect changes in the documentation files.
This commit improves the clarity and usability of the Truncgil Finance API documentation and expands its capabilities.
Implemented a new method `getCurrencyRateByName` in the CurrencyController to fetch the currency rate based on the provided currency name from a JSON file. The method handles cases where the file does not exist or the currency is not found, returning appropriate JSON responses for each scenario.