Commit Graph

54 Commits

Author SHA1 Message Date
Ümit Tunç 7294890f06 Update currency and gold rates API responses with enhanced metadata and example values
- Modified the title of the endpoint to include a Bitcoin symbol for clarity.
- Updated API response contents to reflect the latest currency and gold rates, including timestamps and metadata.
- Changed example values for currency and gold names to improve clarity in API documentation.
- Adjusted server time in responses to ensure accurate time representation.

These changes collectively enhance the usability and accuracy of the currency and gold rates API in the Truncgil Finance application.
2025-01-21 22:29:38 +03:00
Ümit Tunç 0d6e449808 Refactor Console Kernel to include MergeCurrencyAndGoldRates job
- Added the MergeCurrencyAndGoldRates job to the Console Kernel, ensuring it is now part of the job dispatching process.
- This change improves the overall functionality of scheduled tasks related to currency and gold rates, enhancing data integration within the Truncgil Finance application.
2025-01-21 22:29:17 +03:00
Ümit Tunç 9409a4dbd9 Refactor CurrencyController to improve error handling and update messages
- Reordered the dispatching of jobs in the runAllFetchs method to ensure proper execution sequence.
- Updated API response messages from Turkish to English for consistency and clarity.
- Enhanced error messages for data retrieval failures to provide clearer feedback to users.
- Improved documentation comments to reflect the changes in functionality.

These changes collectively enhance the usability and clarity of the CurrencyController in the Truncgil Finance application.
2025-01-21 22:29:08 +03:00
Ümit Tunç a46f286ce2 Add FetchCryptoCurrencyRates job to Console Kernel
- 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.
2025-01-21 21:47:01 +03:00
Ümit Tunç bf016af07c Refactor RouteServiceProvider to remove custom rate limiting for API requests
- 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.
2025-01-21 21:28:39 +03:00
Ümit Tunç 61c7a77431 Add FetchCryptoCurrencyRates job to scheduled tasks and clean up RouteServiceProvider 2025-01-21 21:28:33 +03:00
Ümit Tunç 09e981f94b Implement crypto currency rates feature and enhance API responses
- 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.
2025-01-21 19:27:03 +03:00
Ümit Tunç 30dd0c5b8d Enhance currency and gold rates API with custom throttling and improved responses
- 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.
2025-01-21 18:28:39 +03:00
Ümit Tunç e2684ef05a Update currency and gold rates API responses, enhance views, and improve branding
- 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.
2025-01-21 18:05:33 +03:00
Ümit Tunç c478be2f3f - Added a new favicon and manifest file for the Truncgil Finance application to enhance branding and user experience.
- 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.
2025-01-21 18:05:24 +03:00
Ümit Tunç 84b9182937 - Added a new light logo SVG file for Truncgil Finance to enhance branding.
- 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.
2025-01-21 15:25:16 +03:00
Ümit Tunç d381fdfbe1 - Added a new SVG logo for Truncgil Finance to the project.
- 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.
2025-01-21 15:04:39 +03:00
Ümit Tunç f860ce5e5c - Enhanced Dockerfile for Laravel application by updating file permissions and improving cron job configuration.
- 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.
2025-01-21 11:06:55 +03:00
Ümit Tunç 74d2e3e602 - Updated CurrencyController to enhance API responses for currency and gold rates.
- 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.
2025-01-21 11:06:42 +03:00
Ümit Tunç 725fb50e03 Update Docker configuration and comment out Laravel migration commands
- 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.
2025-01-21 09:35:27 +03:00
Ümit Tunç 3e10131f81 Refactor Docker setup and update API documentation
- 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.
2025-01-21 09:28:15 +03:00
Ümit Tunç 677da3892d Update RunAllFetchs command description for clarity
- 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.
2025-01-20 23:47:17 +03:00
Ümit Tunç c62211f393 Add new API endpoints for fetching server time and date, and update currency and gold rates responses
- 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.
2025-01-20 22:44:17 +03:00
Ümit Tunç 2ec15193a0 Add server time and date endpoints to API
- 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.
2025-01-20 22:44:03 +03:00
Ümit Tunç 32119b6911 Add TimeDateController for server time and date API endpoints</message>
<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.
2025-01-20 22:43:52 +03:00
Ümit Tunç c7b06c0cba Enhance Dockerfile for Laravel application with NTP support
- 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.
2025-01-20 22:43:45 +03:00
Ümit Tunç 7d108ca032 Add Dockerfile for Laravel application setup
- 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.
2025-01-20 22:16:17 +03:00
Ümit Tunç 5283c8aac9 Update API documentation and configuration files
- 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.
2025-01-20 22:12:03 +03:00
Ümit Tunç df5a21efa7 Uncomment run-all-fetchs route in API for currency updates
- 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.
2025-01-20 22:11:51 +03:00
Ümit Tunç 63aa362100 Enhance runAllFetchs method in CurrencyController for error handling and response formatting
- 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.
2025-01-20 22:11:35 +03:00
Ümit Tunç 5d6b9a2f48 Add docker-entrypoint.sh for API documentation generation
- 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.
2025-01-20 22:11:20 +03:00
Ümit Tunç 700bfb2994 Update composer.lock to correct stability flags and platform-dev settings
- 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.
2025-01-20 22:11:10 +03:00
Ümit Tunç c20b900e33 Add .htaccess file for HTTPS redirection
- 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.
2025-01-20 22:10:54 +03:00
Ümit Tunç 5c96b6b72e Update Docker configuration and Dockerfile for Laravel application
- 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.
2025-01-20 22:10:47 +03:00
Ümit Tunç 026ee3f85d Merge branch 'docker-version' of https://github.com/truncgil/truncgil_finance into docker-version 2025-01-20 16:26:44 +03:00
Ümit Tunç dace80dd79 Update currency and gold rates API endpoints with new data
- 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.
2025-01-20 16:43:41 +03:00
Ümit Tunç f23743adab Enhance Dockerfile with file permission settings
- 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.
2025-01-20 16:25:22 +03:00
Ümit Tunç 944758a215 Add Docker configuration and Dockerfile for Laravel application 2025-01-18 18:58:24 +03:00
Ümit Tunç e305b8a77a Update API endpoint titles for currency and gold rates
- 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.
2025-01-17 23:38:06 +03:00
Ümit Tunç ed0ff822ed Refactor CurrencyController to improve method documentation and simplify rate retrieval
- 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.
2025-01-17 23:37:54 +03:00
Ümit Tunç 7bc63d0979 Update API endpoints for currency and gold rates
- 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.
2025-01-17 23:33:16 +03:00
Ümit Tunç 2dee2f56b9 Refactor API routes for currency and gold rates
- 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.
2025-01-17 23:33:02 +03:00
Ümit Tunç 3217d8693e Enhance CurrencyController with detailed method documentation and new functionalities
- 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.
2025-01-17 23:32:56 +03:00
Ümit Tunç 2aac301b29 Update API routes for currency and gold rates
- 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.
2025-01-17 23:28:37 +03:00
Ümit Tunç a26622c550 Refactor CurrencyController to enhance rate fetching and introduce new methods
- 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.
2025-01-17 23:28:29 +03:00
Ümit Tunç 7f09c56967 Enhance FetchGoldRates job to include update date and improve gold name formatting
- 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.
2025-01-17 23:28:17 +03:00
Ümit Tunç 6b5270f341 Add NumberFormatter helper class for number formatting
- 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.
2025-01-17 23:06:55 +03:00
Ümit Tunç 25327ac0cc Add RunAllFetchs command to execute currency and gold rate fetching jobs sequentially
- 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.
2025-01-17 23:01:03 +03:00
Ümit Tunç 3d269c0261 Update scheduling in Console Kernel to run FetchCurrencyRates, FetchGoldRates, and MergeCurrencyAndGoldRates jobs every minute
- 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.
2025-01-17 23:00:53 +03:00
Ümit Tunç aa03ed3706 Integrate FetchGoldRates and MergeCurrencyAndGoldRates jobs in CurrencyController
- 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.
2025-01-17 22:59:11 +03:00
Ümit Tunç 11106995d4 Add MergeCurrencyAndGoldRates job to combine currency and gold rates
- 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.
2025-01-17 22:58:51 +03:00
Ümit Tunç 8730465a42 Add FetchGoldRates job to retrieve and store gold rates
- 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.
2025-01-17 22:58:44 +03:00
Ümit Tunç 86f887a18b Refactor FetchCurrencyRates job to improve data fetching and processing
- 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.
2025-01-17 22:58:34 +03:00
Ümit Tunç 48da9891dc Refactor Truncgil Finance documentation and endpoints
- 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.
2025-01-17 21:46:08 +03:00
Ümit Tunç de00f293c9 Add method to retrieve currency rate by name in CurrencyController
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.
2025-01-17 21:45:55 +03:00