c98018bb4eaacbcd05763f404b40d3d4a27899dd
commitbcfb4c1456Merge:1cbde57975c87dAuthor: Munawwirul Jamal <57973347+munaja@users.noreply.github.com> Date: Mon Nov 17 11:15:14 2025 +0700 Merge pull request #147 from dikstub-rssa/feat/surat-kontrol-135 Feat: Integration Rehab Medik - Surat Kontrol commit975c87d99aMerge:f5820901cbde57Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Mon Nov 17 10:58:10 2025 +0700 Merge branch 'dev' into feat/surat-kontrol-135 commitf582090d18Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Thu Nov 13 11:56:21 2025 +0700 Fix: Refactor surat kontrol commita14c4a5d3cAuthor: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Tue Nov 11 14:21:58 2025 +0700 Fix: Refactor Surat Kontrol CRUD {id} to {code} commit24313adef6Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Fri Nov 7 10:35:46 2025 +0700 Fix: debug back btn in add, edit, detail content page commit59b44b5729Merge:99a61a0db15ec9Author: Muhammad Hasyim Chaidir Ali <68959522+Hasyim-Kai@users.noreply.github.com> Date: Fri Nov 7 09:11:10 2025 +0700 Merge branch 'dev' into feat/surat-kontrol-135 commit99a61a0bf2Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Thu Nov 6 08:06:01 2025 +0700 Feat: add right & bottom label in input base component commitdb48919325Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Wed Nov 5 13:53:43 2025 +0700 Feat: add banner in List if requirement not met commitbd57250f7eAuthor: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Wed Nov 5 13:26:48 2025 +0700 Fix: refactor getDetail url param commita361922e32Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Wed Nov 5 13:19:07 2025 +0700 Feat: Add & integrate add, edit, detail page commit331f4a6b20Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Tue Nov 4 16:56:08 2025 +0700 Feat: Integrate Control Letter commit2275f4dc99Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Mon Oct 27 14:01:58 2025 +0700 Feat: add UI BPJS > Surat Kontrol commit89e0e7a2c8Author: hasyim_kai <muhammad.hasyim.c.a@gmail.com> Date: Mon Oct 27 10:21:59 2025 +0700 Feat: add UI CRUD Surat Kontrol at Rehab Medik > kunjungan > Proses
Merge branch 'dev' of https://github.com/dikstub-rssa/simrs-fe into feat/integrasi-assessment-medis-114
SIMRS - FE
RSSA - Front End
Important
Read this following instructions before doing your job
Framework Guide
Configuration
nuxt.config.ts
Nuxt configuration file.env
Some environment variables
Directory Structure for app/
app.vue: Main layoutcomponents: Contains all reusable UI components.components/content: Entry point for business logic and workflows. Pages or routes call these content components to handle API requests and process application logiccomponents/app: View-layer components that manage and present data. These are used withincontent/to render or handle specific parts of the UI, and return results back to the contentcomponents/pub: Public/shared components used across different parts of the app.composables: Contains reusable logic and utility functions (e.g. composables, hooks)..layouts: Reusable UI layout patterns used across pages.models: Contains data definitions or interfaces.schemas: Contains JSON schemas used for validation.services: Contains reusable API calls and business logic.
Directory Structure for app/pages
pages/auth: Authentication related pages.pages/(features): Grouped feature modules that reflect specific business content or domains.
Directory Structure for server/
server/api: API or proxy requests
Workflows
The basic development workflow follows these steps:
Define Your Data in models/
- Create data definitions or interfaces.
- These should represent the structure of the data used across your app.
Build UI Components in components/app
- Create reusable UI and app specific components.
- Keep components pure, avoid making HTTP requests directly within them.
- They receive data via props and emit events upward.
Business Logic in components/content
- This layer connects the UI with the logic (API calls, validations, navigation).
- It composes components from
components/app/,components/pub/, and other content. - Also responsible for managing state, side effects, and interactions.
Create Pages in pages/
- Define permissions and guards for each page.
- Pages load the appropriate content from
components/content/. - They do not contain UI or logic directly, just route level layout or guards.
Validation
-
UI level validation in
components/app. help users avoid mistakes before submitting.- Lightweight/instant validation related to UX.
- Basic formatting (email regex, numeric-only, password length).
- Showing error messages directly under the field.
-
Business level validation in
components/flow. cannot rely only on the UI, since it often requires server-side checks or rules that may change.- More complex validation rules tied to business logic.
Code Conventions
- Under the script setup block, putting things in group with the following order:
- Imports → all dependencies, sorted by external, alias (~), and relative imports.
- Props & Emits → clearly define component inputs & outputs.
- State & Computed → all ref, reactive, and computed variables grouped together.
- Lifecycle Hooks → grouped by mounting → updating → unmounting order.
- Functions → async first (fetching, API calls), then utility & event handlers.
- Watchers → if needed, put them at the bottom.
- Template → keep clean and minimal logic, use methods/computed instead of inline JS.
- Declaration Naming
- Uses PascalCase for
typenaming - Uses camelCase for
variableandconstnaming - Underscore can be used to indicates that a variable has derived from an attribute of an object
for example:person_nameindicates it is an attributenamefrom objectperson
- Uses PascalCase for
- Looping
- Uses
i,j,kas variable forforlooping index - Uses
itemas object instantition forforEachloop callback - Uses
itemas object instantition forv-forloop callback in the template
- Uses
Git Workflows
The basic git workflow follows these steps:
- Create a new branch on
dev- branch name should be
feat/<feature-name>orfix/<bug-name>
- branch name should be
- Make your changes
- Commit your changes
- commit msg format:
[type]: [description]typecan befeat,fix,docs,style,refactor,perf,test,build,ci,chore,revertdescriptionshould be a brief description of the changes- Example:
feat: add new feature
- commit msg format:
- Push your changes to
dev - Create a pull request from
devtomain
Description