- Implement CitiesController for listing and showing cities
- Create City and WeatherArt models with associations
- Add views for cities index and show, displaying weather arts
- Include routes for cities and active storage for images
- Update migrations for weather arts and seed data for testing
This commit introduces a comprehensive cities feature that allows users to view cities along with their associated weather art. The implementation includes necessary database migrations, routes, and controller actions to support this new functionality.
- Change default SMTP username in ApplicationMailer to
'noreply@mail.frytea.com'
- Comment out previous username in credentials to
avoid confusion
- Ensure updated username is reflected in production
environment settings
This update improves email configuration organization, making it
clearer and reducing the risk of misconfiguration, as the hardcoded
value in the mailer takes precedence.
- Upgrade parser gem from 3.3.6.0 to 3.3.7.0
- Upgrade rubocop gem from 1.69.2 to 1.70.0
- Upgrade unicode-display_width gem from 3.1.3 to 3.1.4
This commit updates several gem dependencies to their latest
versions to ensure security and access to new features. The
new versions may include bug fixes and improvements.
No breaking changes have been introduced in these updates.
- Update SMTP host and port
- Enable TLS and authentication for SMTP connection
This change updates the production environment configuration to use a different SMTP host and port, as well as enables TLS and authentication for the SMTP connection. This is necessary to ensure reliable and secure email delivery in the production environment.
- Set host option for action mailer to use ENV variable
- Added SSL, open timeout, and read timeout settings
- Ensure authentication method is a string
These changes streamline the action mailer configuration by introducing
additional parameters for a more secure and efficient operation,
improving overall email delivery reliability.
- Revise footer layout and content, highlighting the new
service "AI Weather Art" with a short description.
- Update SMTP credentials configuration to use environment
variables for a more secure setup.
- Add AWS configuration for development and production,
including access keys and bucket information.
These changes improve the footer clarity for users and enhance
security by utilizing environment variables for sensitive
configuration data instead of hardcoded values.
- Include QWeather API key in the credentials file
This change adds the necessary API key for the QWeather service, enabling
future integration of weather data into the application. The key is stored
in the encrypted credentials file to maintain security.
- Deleted the `add_jquery.js` file as jQuery is no longer needed.
- Removed references to Bootstrap from the Gemfile and package.json.
- Updated the application layout to reflect the removal of Bootstrap styles.
- Adjusted the paginator HTML to use a class that aligns with the new styling.
These changes streamline the asset pipeline by eliminating unused libraries,
which can improve load times and reduce potential security vulnerabilities.
The application now relies on alternative styling and JavaScript solutions.
- Remove Flowbite import from application.js
- Update tailwind.config.js to exclude Flowbite
- Delete package-lock.json to reflect the removal of Flowbite
This commit cleans up the project by removing the Flowbite library, which was previously included but is no longer needed. This helps streamline the codebase and may improve performance.
- Implement theme switching functionality with a new ThemeController
- Add ToastController for displaying notifications
- Update various views for improved layout and styling
- Introduce animations for toast notifications
These changes enhance the user experience by allowing users to switch between light and dark themes and receive feedback through toast notifications. The UI has been improved for better accessibility and aesthetics.
- Update `tailwind.config.js` to use only `light` and `dark` themes.
- This change improves code maintainability and reduces unnecessary complexity.
- No other components or functionalities are affected by this change.
- Update the footer layout to include copyright information and navigation links
- Improve the header layout with a responsive theme switcher
- Configure Tailwind CSS to use light and dark themes
This change enhances the project's user interface and user experience by providing a more visually appealing and responsive design. It includes updates to the footer and header layouts, making it easier for users to navigate the site. Additionally, it configures Tailwind CSS to use light and dark themes, allowing users to customize their experience to suit their preferences.
- Refactor header layout from a fixed to a responsive design using
a navbar component.
- Integrate daisyUI for improved styling and utility classes.
- Ensure that all existing links and dropdown functionalities are
preserved.
- Modify tailwind.config.js to include daisyUI plugin with
appropriate theme settings.
- Update package.json to include daisyUI as a dev dependency.
This commit enhances the visual layout and user experience of the
header by making it responsive while streamlining component usage
with daisyUI, which also provides additional UI features.
This change ensures better usability across devices.
- Add tailwindcss-rails gem to Gemfile
- Create application.tailwind.css for Tailwind styles
- Update Procfile.dev for Tailwind CSS watch command
- Add demo action and view for showcasing features
- Update application layout to use Tailwind CSS classes
- Refactor footer and header for improved styling
This commit introduces Tailwind CSS for styling the application, enhancing the UI with utility-first CSS. A new demo page is also added to showcase the application features.
- Change default URL options to use environment variable
- Update SMTP settings to fetch credentials from environment variables
- Comment out hardcoded email sender in tests
These changes improve the flexibility of the mailer configuration by
allowing it to adapt to different environments through environment
variables. This reduces the risk of exposing sensitive information
in the codebase and makes it easier to configure for different
production setups.
- Implement PasswordResetsController with new and create actions
- Add views for new and edit password reset forms
- Update routes to include password reset paths
- Create migration to add reset_digest and reset_send_at to users
This commit introduces a complete password reset feature, allowing
users to request a password reset via email. It includes the
necessary controller actions, views, and database schema updates.
The user experience is enhanced with a link to the password reset
form on the login page.
- Upgrade thruster gem to version 0.1.10
- Set SMTP user credentials for sending emails
- Adjust test to verify only activated users are displayed
These updates improve email handling and ensure that the application
uses the latest version of the thruster gem, while also refining
the user index test to accurately reflect the activated state.
- Changed single quotes to double quotes in assertions for consistency.
- Updated routes file for spacing consistency in resource declaration.
These changes improve code readability and maintain consistency in the
codebase, making it easier for developers to follow the style guide.
- Implement AccountActivationsController for activation logic
- Create UserMailer for sending activation emails
- Update SessionsController to handle unactivated users
- Modify UsersController to restrict access to activated users
- Add activation fields to User model and database migration
- Create views for account activation emails
- Add tests for account activation functionality
- Integrate Kaminari for pagination of users
- Update users_controller to paginate users
- Add pagination views for first, last, next, and previous pages
- Seed database with example users for testing
This commit introduces pagination to the user index view, allowing
for better navigation through large sets of users. The Kaminari gem
is utilized to handle pagination, improving the user experience by
reducing load times and enhancing usability. Additionally, the
seeding script has been updated to create multiple users for
better testing of the pagination feature.
- Updated single quotes to double quotes for consistency
- Adjusted spacing in array definitions for better readability
- Ensured consistent use of quotes in flash messages and method parameters
These changes enhance the overall code style without altering any functionality.
- Change "Log out" link to use `data: { turbo_method: :delete }`
- Update "Login in" to "Log in" for consistency
- Fix typo in sign-up prompt from "SIgn up now!" to "Sign up now!"
- Ensure proper indentation in error messages partial
- Add turbo frame to user signup form for better performance
- Adjust routes for consistency by adding leading slashes
These changes enhance the user interface by correcting typographical errors and improving the logout functionality. The use of turbo frames in the signup form aims to optimize the user experience during account creation.
- Add cssbundling-rails and jsbundling-rails gems for improved
asset management.
- Create a Procfile for development with separate processes for
CSS and JS.
- Remove unused jQuery and Bootstrap assets from the
application.
- Update .gitignore to exclude build artifacts and node_modules.
These changes streamline the asset pipeline, allowing for
better organization and performance in handling CSS and JS
files. The removal of unused assets reduces clutter and
potential conflicts in the asset management process.
- Implement user creation in UsersController
- Add user registration form in new.html.erb
- Create error messages partial for form validation
- Add gravatar helper for user profile
- Update routes to include resources for users
- Introduce integration tests for signup validation
This commit establishes the foundation for user registration, allowing users to sign up with their details and providing feedback on form errors. It enhances the user experience by integrating visual elements like gravatars and error messages.
- Add User model with validations for name and email
- Implement UsersController with new action for signup
- Create views for user signup and home page
- Update routes to include signup path
- Add bcrypt gem for password security
- Include tests for user model and controller actions
This commit establishes the foundation for user registration in the application, ensuring proper validation and security measures are in place. It also enhances the user experience by providing a dedicated signup page.