Posts

Showing posts from April, 2026

Profile + UI Fixes

Image
 This week I worked on improving the profile system and cleaning up some UI issues. I finished wiring up the profile to the backend so users can update their display name, bio, and profile image. I also combined everything into a single save button to make it easier to use. I ran into an issue with image uploads failing, which ended up being a FormData binding problem and file size limits. I fixed that and added validation so users get feedback before uploading. I also implemented dark mode persistence using localStorage. At first it wasn’t sticking after logout, but I tracked it down to multiple localStorage.clear() calls across the app. After fixing those, the theme now saves correctly. Finally, I fixed a layout issue where tables would slide under the sidebar when zooming. I standardized the layout across Orders, Inventory, and Reports so everything behaves consistently. Overall, this cleaned up a lot of small issues and made the app feel more stable and polished.

Profile Management Feature with Backend and Frontend Integration

Image
This week I worked on adding a Profile Management featur e to PharmaStock so users can manage their own account info. On the backend, I set up a new ProfileController with endpoints to: view their profile update their name and bio change their password upload, view, and delete a profile image I also created the DTOs needed to keep the data clean between the frontend and backend. I ran into a few issues along the way, mostly with image usage, which caused some errors in the controller. Once those were fixed, everything started working as expected. On the frontend, I added a new Angular service to handle all the profile calls. It follows the same pattern as the rest of the app and includes handling file uploads for profile images. Overall, this gets the profile system fully working behind the scenes and ready to hook up to the UI next.

Implementing CSV Export for Reports

Image
 Last week I implemented CSV export functionality for the reports feature in PharmaStock, but I forgot to post an update on it. I added an Export button that opens a popup modal, allowing users to optionally select a date range before downloading the report. The export uses the currently loaded report data, ensuring that what gets downloaded matches what the user is working with. The CSV is generated on the frontend, with proper formatting and headers, and downloads automatically with a timestamped file name. I also included validation for invalid date ranges to prevent errors during export.