-
Notifications
You must be signed in to change notification settings - Fork 0
feat: updated descriptions/notes and added fixtures #447
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughThe pull request introduces several updates across multiple files. In Changes
Assessment against linked issues
Possibly related PRs
Suggested labels
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Outside diff range and nitpick comments (10)
web-frontend/src/components/FooterContent.vue (2)
10-10: Consider using HTTPS for the HTML5 UP link.The link to HTML5 UP uses HTTP instead of HTTPS. For security best practices, consider using HTTPS.
- <li>Design: <a href="http://html5up.net">HTML5 UP</a> | Revised: <a href="https://github.com/hwakabh">hwakabh</a></li> + <li>Design: <a href="https://html5up.net">HTML5 UP</a> | Revised: <a href="https://github.com/hwakabh">hwakabh</a></li>
Line range hint
16-18: Remove unused CSS class.The
.copyrightclass is defined but not used in the template.-<style scoped> -.copyright { - text-align: center; -} -</style>web-frontend/src/pages/Works.vue (2)
26-29: Minor grammatical improvements neededThe description text has a few minor grammatical issues that could be improved:
Apply this diff to enhance readability and grammar:
<p> - Some of the featured projects I have built, mainly for personal purpose or works as freelancer.<br> + Some of the featured projects I have built, mainly for personal purposes or work as a freelancer.<br> Also there is a full list as repositories in <a href="https://github.com/hwakabh" target="_blank">GitHub</a> </p>
Line range hint
1-19: Consider enhancing the script sectionWhile the current implementation works, here are some suggestions to improve the code:
<script setup> import axios from "axios"; import { ref, onMounted } from "vue"; +const API_ENDPOINT = '/api/v1/works'; const workData = ref([]); -axios.get('/api/v1/works') + +// Fetch works data from API +axios.get(API_ENDPOINT) .then((resp) => { - console.log(resp.data.content); workData.value = resp.data.content; }) .catch((err) => { - console.log(err); + console.error('Failed to fetch works data:', err); + // TODO: Add user-friendly error handling }) -// Vue lifecycle hooks -onMounted(() => { - console.log(workData); -}) +// Remove debug logging in production </script>Improvements include:
- Moving the API endpoint to a constant for better maintainability
- Removing debug console logs
- Adding more descriptive error logging
- Suggesting the addition of user-friendly error handling
web-frontend/src/pages/About.vue (1)
113-116: Consider enhancing external link security and accessibilityWhile the links have been properly implemented with
target="_blank"andrel="noopener noreferrer", consider these improvements:- <li>2024-10 - Present: Resident Solutions Engineer / <a href="https://www.hashicorp.com/" target="_blank" rel="noopener noreferrer">HashiCorp</a></li> + <li>2024-10 - Present: Resident Solutions Engineer / <a href="https://www.hashicorp.com/" target="_blank" rel="noopener noreferrer" aria-label="HashiCorp website">HashiCorp</a></li> - <li>2021-01 - 2023-12: Chief Technology Officer / <a href="https://glocalist.co/ja-JP/" target="_blank" rel="noopener noreferrer">Glocalist</a></li> + <li>2021-01 - 2023-12: Chief Technology Officer / <a href="https://glocalist.co/ja-JP/" target="_blank" rel="noopener noreferrer" aria-label="Glocalist website">Glocalist</a></li> - <li>2019-06 - 2024-10: Telco Solutions Architect / <a href="https://www.vmware.com" target="_blank" rel="noopener noreferrer">VMware</a><br>(merged by Broadcom)</li> + <li>2019-06 - 2024-10: Telco Solutions Architect / <a href="https://www.vmware.com" target="_blank" rel="noopener noreferrer" aria-label="VMware website">VMware</a><br>(merged by Broadcom)</li> - <li>2015-04 - 2019-06: Delivery Specialist / <a href="https://www.emc.com" target="_blank" rel="noopener noreferrer">EMC Corporation </a><br>(merged by Dell Technologies)</li> + <li>2015-04 - 2019-06: Delivery Specialist / <a href="https://www.emc.com" target="_blank" rel="noopener noreferrer" aria-label="EMC Corporation website">EMC Corporation</a><br>(merged by Dell Technologies)</li>These changes:
- Add
aria-labelattributes to improve screen reader accessibility- Remove extra space after "EMC Corporation" in the link text
api-server/fixtures/payloads/publications.json5 (1)
23-26: Consider enhancing the publication metadata.The new entry follows the correct format and provides good information. Consider these optional enhancements:
- Add co-author attribution if permitted
- Include URL/DOI if the thesis is publicly available
- Standardize the use of commas in descriptions across all entries
web-frontend/src/pages/Contact.vue (4)
45-49: Consider adding data handling and retention policies.While the security measures (TLS, encryption) are well explained, consider adding information about:
- How long the personal information is retained
- Whether the data is shared with third parties (including Brevo)
- Data protection compliance (e.g., GDPR if applicable)
58-58: Add specific response time expectations.Consider providing a more specific timeframe for the response to set proper user expectations, e.g., "Thanks! I will reply back within 2 business days!"
81-81: Remove empty placeholder attribute.The textarea has an empty placeholder attribute which serves no purpose. Either remove it or add helpful placeholder text.
- <textarea v-model="senderBody" placeholder=""/> + <textarea v-model="senderBody"/>
Line range hint
14-32: Add security measures to prevent form abuse.The current implementation could benefit from additional security measures:
- Rate limiting to prevent spam
- CSRF protection
- Request throttling
- Captcha/reCAPTCHA integration
Also, consider adding loading state handling during form submission to prevent double submissions.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
⛔ Files ignored due to path filters (1)
api-server/fixtures/pubs/20140115_SoC_Competition_Thesis.pdfis excluded by!**/*.pdf
📒 Files selected for processing (5)
api-server/fixtures/payloads/publications.json5(1 hunks)web-frontend/src/components/FooterContent.vue(1 hunks)web-frontend/src/pages/About.vue(1 hunks)web-frontend/src/pages/Contact.vue(3 hunks)web-frontend/src/pages/Works.vue(1 hunks)
🔇 Additional comments (3)
web-frontend/src/components/FooterContent.vue (1)
Line range hint 1-4: Remove unnecessary props definition.
The props are defined but not used in the component. The comment suggests it's required for vitest, but this should be verified.
If not required by tests, consider removing:
-<script setup>
-// Required for vitest using `__name` props
-const props = defineProps({});
-</script>
+<script setup>
+</script>web-frontend/src/pages/About.vue (1)
113-116:
Please verify the date overlap in career history
There appears to be an overlap in dates between positions:
- HashiCorp: "2024-10 - Present"
- VMware: "2019-06 - 2024-10"
This suggests you started at HashiCorp before leaving VMware. Please verify if this is intentional or if the dates need adjustment.
api-server/fixtures/payloads/publications.json5 (1)
18-18: LGTM! Description update improves clarity.
The modified description better conveys the quantitative nature of the research and reads more professionally.
| <input v-model="senderName" name="sendername" id="sendername" type="text" placeholder="John Doe"> | ||
| </div> | ||
| <div class="field half"> | ||
| <label for="email">Email</label> | ||
| <input v-model="senderEmail" name="Email" id="email" type="email" placeholder="me@example.com"> | ||
| </div> | ||
| <div class="field"> | ||
| <label for="body">Message</label> | ||
| <textarea v-model="senderBody" /> | ||
| <textarea v-model="senderBody" placeholder=""/> | ||
| </div> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Consider enhancing form validation.
The form currently relies only on basic HTML5 validation. Consider adding:
- Name validation (minimum length, character restrictions)
- Enhanced email format validation
- Message length validation (minimum/maximum)
- Visual feedback for validation states
Example implementation:
<script setup>
import axios from "axios";
import { ref, computed } from 'vue';
+import { useField, useForm } from 'vee-validate';
+import * as yup from 'yup';
import ThanksContent from "../components/Thanks.vue";
+const schema = yup.object({
+ name: yup.string().required().min(2).max(50),
+ email: yup.string().required().email(),
+ body: yup.string().required().min(10).max(1000)
+});
+
+const { handleSubmit } = useForm({
+ validationSchema: schema
+});
+
+const { value: name, errorMessage: nameError } = useField('name');
+const { value: email, errorMessage: emailError } = useField('email');
+const { value: body, errorMessage: bodyError } = useField('body');Committable suggestion skipped: line range outside the PR's diff.
Issue/PR link
closes: #446
What does this PR do?
Describe what changes you make in your branch:
(Optional) Additional Contexts
Describe additional information for reviewers (i.e. What does not included)
mainto confirm changes would be appliedSummary by CodeRabbit
Release Notes