diff --git a/go.mod b/go.mod
index 0b93e01b18fd12a892bb6342c59e9479e1a13459..4d2fa2c79a7cdc4b87296f2e175ba90ebfc5bdb1 100644
--- a/go.mod
+++ b/go.mod
@@ -1,58 +1,31 @@
 module gitlab.informatika.org/k-01-11/graduit-be
 
-go 1.21.0
-
-toolchain go1.22.0
+go 1.21
 
 require (
-	github.com/dgrijalva/jwt-go v3.2.0+incompatible
 	github.com/google/uuid v1.6.0
+	github.com/swaggo/echo-swagger v1.4.1
+	github.com/swaggo/swag v1.16.3
+	gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df
 	gorm.io/driver/postgres v1.5.6
 	gorm.io/gorm v1.25.7
 )
 
 require (
 	github.com/KyleBanks/depth v1.2.1 // indirect
-	github.com/PuerkitoBio/purell v1.2.1 // indirect
-	github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect
-	github.com/cilium/ebpf v0.14.0 // indirect
-	github.com/cosiner/argv v0.1.0 // indirect
-	github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect
-	github.com/derekparker/trie v0.0.0-20230829180723-39f4de51ef7d // indirect
 	github.com/ghodss/yaml v1.0.0 // indirect
-	github.com/go-delve/delve v1.22.1 // indirect
-	github.com/go-delve/liner v1.2.3-0.20231231155935-4726ab1d7f62 // indirect
 	github.com/go-openapi/jsonpointer v0.21.0 // indirect
 	github.com/go-openapi/jsonreference v0.21.0 // indirect
 	github.com/go-openapi/spec v0.21.0 // indirect
 	github.com/go-openapi/swag v0.23.0 // indirect
-	github.com/google/go-dap v0.12.0 // indirect
-	github.com/hashicorp/golang-lru v1.0.2 // indirect
-	github.com/inconshreveable/mousetrap v1.1.0 // indirect
 	github.com/josharian/intern v1.0.0 // indirect
 	github.com/mailru/easyjson v0.7.7 // indirect
-	github.com/mattn/go-runewidth v0.0.15 // indirect
-	github.com/rivo/uniseg v0.4.7 // indirect
-	github.com/russross/blackfriday/v2 v2.1.0 // indirect
-	github.com/shurcooL/sanitized_anchor_name v1.0.0 // indirect
-	github.com/sirupsen/logrus v1.9.3 // indirect
-	github.com/spf13/cobra v1.8.0 // indirect
-	github.com/spf13/pflag v1.0.5 // indirect
-	github.com/swaggo/echo-swagger v1.4.1 // indirect
 	github.com/swaggo/files/v2 v2.0.0 // indirect
-	github.com/swaggo/swag v1.16.3 // indirect
-	github.com/urfave/cli/v2 v2.27.1 // indirect
-	github.com/xrash/smetrics v0.0.0-20240312152122-5f08fbb34913 // indirect
-	go.starlark.net v0.0.0-20240411212711-9b43f0afd521 // indirect
-	golang.org/x/arch v0.7.0 // indirect
 	golang.org/x/crypto v0.22.0 // indirect
-	golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f // indirect
 	golang.org/x/tools v0.20.0 // indirect
 	gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
-	gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df // indirect
 	gopkg.in/yaml.v2 v2.4.0 // indirect
 	gopkg.in/yaml.v3 v3.0.1 // indirect
-	sigs.k8s.io/yaml v1.4.0 // indirect
 )
 
 require (
@@ -62,7 +35,6 @@ require (
 	github.com/jackc/puddle/v2 v2.2.1 // indirect
 	github.com/jinzhu/inflection v1.0.0 // indirect
 	github.com/jinzhu/now v1.1.5 // indirect
-	github.com/labstack/echo v3.3.10+incompatible
 	github.com/labstack/echo/v4 v4.11.4
 	github.com/labstack/gommon v0.4.2 // indirect
 	github.com/mattn/go-colorable v0.1.13 // indirect
diff --git a/go.sum b/go.sum
index a02618fcf8e20571c871c8f1d80658af1b1be929..e0aa849b034eb2f5cf21b9d9b4cb9e71fd39e101 100644
--- a/go.sum
+++ b/go.sum
@@ -1,32 +1,10 @@
-github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
 github.com/KyleBanks/depth v1.2.1 h1:5h8fQADFrWtarTdtDudMmGsC7GPbOAu6RVB3ffsVFHc=
 github.com/KyleBanks/depth v1.2.1/go.mod h1:jzSb9d0L43HxTQfT+oSA1EEp2q+ne2uh6XgeJcm8brE=
-github.com/PuerkitoBio/purell v1.2.1 h1:QsZ4TjvwiMpat6gBCBxEQI0rcS9ehtkKtSpiUnd9N28=
-github.com/PuerkitoBio/purell v1.2.1/go.mod h1:ZwHcC/82TOaovDi//J/804umJFFmbOHPngi8iYYv/Eo=
-github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
-github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
-github.com/cilium/ebpf v0.14.0 h1:0PsxAjO6EjI1rcT+rkp6WcCnE0ZvfkXBYiMedJtrSUs=
-github.com/cilium/ebpf v0.14.0/go.mod h1:DHp1WyrLeiBh19Cf/tfiSMhqheEiK8fXFZ4No0P1Hso=
-github.com/cosiner/argv v0.1.0 h1:BVDiEL32lwHukgJKP87btEPenzrrHUjajs/8yzaqcXg=
-github.com/cosiner/argv v0.1.0/go.mod h1:EusR6TucWKX+zFgtdUsKT2Cvg45K5rtpCcWz4hK06d8=
-github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d h1:U+s90UTSYgptZMwQh2aRr3LuazLJIa+Pg3Kc1ylSYVY=
-github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
-github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
-github.com/cpuguy83/go-md2man/v2 v2.0.4 h1:wfIWP927BUkWJb2NmU/kNDYIBTh/ziUX91+lVfRxZq4=
-github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/derekparker/trie v0.0.0-20230829180723-39f4de51ef7d h1:hUWoLdw5kvo2xCsqlsIBMvWUc1QCSsCYD2J2+Fg6YoU=
-github.com/derekparker/trie v0.0.0-20230829180723-39f4de51ef7d/go.mod h1:C7Es+DLenIpPc9J6IYw4jrK0h7S9bKj4DNl8+KxGEXU=
-github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM=
-github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
 github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk=
 github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
-github.com/go-delve/delve v1.22.1 h1:LQSF2sv+lP3mmOzMkadl5HGQGgSS2bFg2tbyALqHu8Y=
-github.com/go-delve/delve v1.22.1/go.mod h1:TfOb+G5H6YYKheZYAmA59ojoHbOimGfs5trbghHdLbM=
-github.com/go-delve/liner v1.2.3-0.20231231155935-4726ab1d7f62 h1:IGtvsNyIuRjl04XAOFGACozgUD7A82UffYxZt4DWbvA=
-github.com/go-delve/liner v1.2.3-0.20231231155935-4726ab1d7f62/go.mod h1:biJCRbqp51wS+I92HMqn5H8/A0PAhxn2vyOT+JqhiGI=
 github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ=
 github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY=
 github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ=
@@ -35,15 +13,8 @@ github.com/go-openapi/spec v0.21.0 h1:LTVzPc3p/RzRnkQqLRndbAzjY0d0BCL72A6j3CdL9Z
 github.com/go-openapi/spec v0.21.0/go.mod h1:78u6VdPw81XU44qEWGhtr982gJ5BWg2c0I5XwVMotYk=
 github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE=
 github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ=
-github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
-github.com/google/go-dap v0.12.0 h1:rVcjv3SyMIrpaOoTAdFDyHs99CwVOItIJGKLQFQhNeM=
-github.com/google/go-dap v0.12.0/go.mod h1:tNjCASCm5cqePi/RVXXWEVqtnNLV1KTWtYOqu6rZNzc=
 github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
 github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c=
-github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
-github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
-github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
 github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM=
 github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg=
 github.com/jackc/pgservicefile v0.0.0-20231201235250-de7065d80cb9 h1:L0QtFUgDarD7Fpv9jeVMgy/+Ec0mtnmYuImjTz6dtDA=
@@ -58,9 +29,10 @@ github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ=
 github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
 github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
 github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
+github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
+github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
+github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
 github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
-github.com/labstack/echo v3.3.10+incompatible h1:pGRcYk231ExFAyoAjAfD85kQzRJCRI8bbnE7CX5OEgg=
-github.com/labstack/echo v3.3.10+incompatible/go.mod h1:0INS7j/VjnFxD4E2wkz67b8cVwCLbBmJyDaka6Cmk1s=
 github.com/labstack/echo/v4 v4.11.4 h1:vDZmA+qNeh1pd/cCkEicDMrjtrnMGQ1QFI9gWN1zGq8=
 github.com/labstack/echo/v4 v4.11.4/go.mod h1:noh7EvLwqDsmh/X/HWKPUl1AjzJrhyptRyEbQJfxen8=
 github.com/labstack/gommon v0.4.2 h1:F8qTUNXgG1+6WQmqoUWnz8WiEU60mXVVw0P4ht1WRA0=
@@ -72,71 +44,35 @@ github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovk
 github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
 github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
 github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
-github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
-github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U=
-github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
-github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
-github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
-github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q=
-github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
-github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
-github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
-github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo=
-github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
-github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
-github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
-github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0=
-github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho=
-github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
-github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
+github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M=
+github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
 github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
 github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
 github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
+github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
 github.com/swaggo/echo-swagger v1.4.1 h1:Yf0uPaJWp1uRtDloZALyLnvdBeoEL5Kc7DtnjzO/TUk=
 github.com/swaggo/echo-swagger v1.4.1/go.mod h1:C8bSi+9yH2FLZsnhqMZLIZddpUxZdBYuNHbtaS1Hljc=
 github.com/swaggo/files/v2 v2.0.0 h1:hmAt8Dkynw7Ssz46F6pn8ok6YmGZqHSVLZ+HQM7i0kw=
 github.com/swaggo/files/v2 v2.0.0/go.mod h1:24kk2Y9NYEJ5lHuCra6iVwkMjIekMCaFq/0JQj66kyM=
 github.com/swaggo/swag v1.16.3 h1:PnCYjPCah8FK4I26l2F/KQ4yz3sILcVUN3cTlBFA9Pg=
 github.com/swaggo/swag v1.16.3/go.mod h1:DImHIuOFXKpMFAQjcC7FG4m3Dg4+QuUgUzJmKjI/gRk=
-github.com/urfave/cli/v2 v2.3.0 h1:qph92Y649prgesehzOrQjdWyxFOp/QVM+6imKHad91M=
-github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI=
-github.com/urfave/cli/v2 v2.27.1 h1:8xSQ6szndafKVRmfyeUMxkNUJQMjL1F2zmsZ+qHpfho=
-github.com/urfave/cli/v2 v2.27.1/go.mod h1:8qnjx1vcq5s2/wpsqoZFndg2CE5tNFyrTvS6SinrnYQ=
 github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
 github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
 github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo=
 github.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ=
-github.com/xrash/smetrics v0.0.0-20240312152122-5f08fbb34913 h1:+qGGcbkzsfDQNPPe9UDgpxAWQrhbbBXOYJFQDq/dtJw=
-github.com/xrash/smetrics v0.0.0-20240312152122-5f08fbb34913/go.mod h1:4aEEwZQutDLsQv2Deui4iYQ6DWTxR14g6m8Wv88+Xqk=
-go.starlark.net v0.0.0-20240411212711-9b43f0afd521 h1:1Ufp2S2fPpj0RHIQ4rbzpCdPLCPkzdK7BaVFH3nkYBQ=
-go.starlark.net v0.0.0-20240411212711-9b43f0afd521/go.mod h1:YKMCv9b1WrfWmeqdV5MAuEHWsu5iC+fe6kYl2sQjdI8=
-golang.org/x/arch v0.7.0 h1:pskyeJh/3AmoQ8CPE95vxHLqp1G1GfGNXTmcl9NEKTc=
-golang.org/x/arch v0.7.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys=
-golang.org/x/crypto v0.20.0 h1:jmAMJJZXr5KiCw05dfYK9QnqaqKLYXijU23lsEdcQqg=
-golang.org/x/crypto v0.20.0/go.mod h1:Xwo95rrVNIoSMx9wa1JroENMToLWn3RNVrTBpLHgZPQ=
 golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30=
 golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M=
-golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f h1:99ci1mjWVBWwJiEKYY6jWa4d2nTQVIEhZIptnrVb1XY=
-golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f/go.mod h1:/lliqkxwWAhPjf5oSOIJup2XcqJaw8RGS6k3TGEc7GI=
-golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4=
-golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
+golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA=
+golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
 golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w=
 golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8=
-golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ=
-golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
 golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=
 golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
-golang.org/x/sys v0.0.0-20211117180635-dee7805ff2e1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y=
-golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o=
 golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
@@ -146,9 +82,10 @@ golang.org/x/tools v0.20.0/go.mod h1:WvitBU7JJf6A4jOdg4S1tviW9bhUxkgeCui/0JHctQg
 gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc h1:2gGKlE2+asNV9m7xrywl36YYNnBG5ZQ0r/BOOxqPpmk=
 gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
+gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
 gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df h1:n7WqCuqOuCbNr617RXOY0AWRXxgwEyPp2z+p0+hgMuE=
 gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df/go.mod h1:LRQQ+SO6ZHR7tOkpBDuZnXENFzX8qRjMDMyPD6BRkCw=
-gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
 gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
@@ -158,7 +95,3 @@ gorm.io/driver/postgres v1.5.6 h1:ydr9xEd5YAM0vxVDY0X139dyzNz10spDiDlC7+ibLeU=
 gorm.io/driver/postgres v1.5.6/go.mod h1:3e019WlBaYI5o5LIdNV+LyxCMNtLOQETBXL2h4chKpA=
 gorm.io/gorm v1.25.7 h1:VsD6acwRjz2zFxGO50gPO6AkNs7KKnvfzUjHQhZDz/A=
 gorm.io/gorm v1.25.7/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8=
-sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
-sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
-sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
-sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=
diff --git a/src/database/Database.go b/src/database/Database.go
index dee26f78c36abd8bc2fbd6f83fdbe6ac70e9a40c..aac4bcd8c8ae1a8452f33f7ad8784eb468003c9d 100644
--- a/src/database/Database.go
+++ b/src/database/Database.go
@@ -33,7 +33,11 @@ func initialize() {
 
 	dbInstance.AutoMigrate(&models.Pengguna{})
 	dbInstance.AutoMigrate(&models.Topik{})
-	dbInstance.AutoMigrate(&models.Pendaftaran{})
+	dbInstance.AutoMigrate(&models.PendaftaranTA{})
+	dbInstance.AutoMigrate(&models.Ruangan{})
+	dbInstance.AutoMigrate(&models.PendaftaranSidSem{})
+	dbInstance.AutoMigrate(&models.PengujiSidsem{})
+	dbInstance.AutoMigrate(&models.DosenBimbingan{})
 	dbInstance.AutoMigrate(&models.UsulanJudul{})
 
 	dbInstance.AutoMigrate(&models.SystemLogs{})
@@ -43,8 +47,6 @@ func initialize() {
 	dbInstance.AutoMigrate(&models.BatchSidang{})
 	dbInstance.AutoMigrate(&models.JadwalSidang{})
 	dbInstance.AutoMigrate(&models.JadwalSeminar{})
-
-	dbInstance.AutoMigrate(&models.Pendaftaran{})
 	dbInstance.AutoMigrate(&models.PeriodPendaftaran{})
 	dbInstance.AutoMigrate(&models.SchedulingSidang{})
 	dbInstance.AutoMigrate(&models.SchedulingSeminar{})
diff --git a/src/models/Berkas.go b/src/models/Berkas.go
index ce22d6f493c2a95add9d9ea4acf616ccae61c225..04f7974c55ad9d4830a3af750123ed3079b35c66 100644
--- a/src/models/Berkas.go
+++ b/src/models/Berkas.go
@@ -1,16 +1,14 @@
 package models
 
-const (
-	BerkasTableName = "berkas"
-)
-
 type Berkas struct {
 	ID             string `gorm:"type:uuid;primaryKey;default:gen_random_uuid();unique" json:"id"`
 	IDBimbinganLog string `gorm:"column:id_bimbingan_log" json:"id_bimbingan_log"`
 	Nama           string `gorm:"column:nama" json:"nama"`
 	Link           string `gorm:"column:link" json:"link"`
+
+	BimbinganLogs BimbinganLogs `gorm:"foreignKey:IDBimbinganLog;references:ID"`
 }
 
 func (Berkas) TableName() string {
-	return BerkasTableName
+	return "berkas"
 }
diff --git a/src/models/BimbinganLogs.go b/src/models/BimbinganLogs.go
index f4a1e1ee24648b10153f4062a0d961d75f2bcc41..ef76c69c9b0c3b8e69ba3ad9fde4715209b7eeba 100644
--- a/src/models/BimbinganLogs.go
+++ b/src/models/BimbinganLogs.go
@@ -5,12 +5,11 @@ import "time"
 type BimbinganLogs struct {
 	ID              string    `gorm:"type:uuid;primaryKey;default:gen_random_uuid()" json:"id"`
 	IDMahasiswa     string    `gorm:"column:id_mahasiswa" json:"id_mahasiswa"`
-	NIM             string    `gorm:"column:nim" json:"nim"`
 	Date            time.Time `gorm:"column:date" json:"date"`
 	LaporanKemajuan string    `gorm:"column:laporan_kemajuan" json:"laporan_kemajuan"`
 	Todo            string    `gorm:"column:todo" json:"todo"`
 	NextBimbingan   string    `gorm:"column:next_bimbingan" json:"next_bimbingan"`
 	Status          bool      `gorm:"column:status" json:"status"`
 
-	Mahasiswa Pengguna `gorm:"foreignKey:IDMahasiswa;references:NIM"`
+	Pengguna Pengguna `gorm:"foreignKey:IDMahasiswa;references:ID"`
 }
diff --git a/src/models/DosenBimbingan.go b/src/models/DosenBimbingan.go
new file mode 100644
index 0000000000000000000000000000000000000000..4066ef16ed56518ce2710f753cd86c4723803a9d
--- /dev/null
+++ b/src/models/DosenBimbingan.go
@@ -0,0 +1,14 @@
+package models
+
+type DosenBimbingan struct {
+	ID            string `gorm:"type:uuid;primaryKey;default:gen_random_uuid()" json:"id"`
+	PendaftaranID string `gorm:"type:uuid" json:"pendaftaranId"`
+	DosenID       string `gorm:"type:uuid" json:"dosenId"`
+
+	Pengguna      Pengguna      `gorm:"foreignKey:DosenID;references:ID"`
+	PendaftaranTA PendaftaranTA `gorm:"foreignKey:PendaftaranID;references:ID"`
+}
+
+func (DosenBimbingan) TableName() string {
+	return "dosen_bimbingan"
+}
diff --git a/src/models/PendaftaranSidSem.go b/src/models/PendaftaranSidSem.go
new file mode 100644
index 0000000000000000000000000000000000000000..b277d3021008db1b76b015af9062e47de2f032b7
--- /dev/null
+++ b/src/models/PendaftaranSidSem.go
@@ -0,0 +1,21 @@
+package models
+
+import "time"
+
+type PendaftaranSidSem struct {
+	ID              string    `gorm:"type:uuid;primaryKey;default:gen_random_uuid()" json:"id"`
+	PendaftaranTAID string    `gorm:"type:uuid" json:"pendaftaranTAId"`
+	Tipe            string    `json:"tipe"`
+	Ditolak         bool      `json:"ditolak"`
+	Lulus           bool      `json:"lulus"`
+	WaktuMulai      time.Time `gorm:"type:timestamptz" json:"waktuMulai"`
+	WaktuSelesai    time.Time `gorm:"type:timestamptz" json:"waktuSelesai"`
+	RuanganID       string    `gorm:"type:uuid" json:"ruanganId"`
+
+	Ruangan       Ruangan       `gorm:"foreignKey:RuanganID;references:ID"`
+	PendaftaranTA PendaftaranTA `gorm:"foreignKey:PendaftaranTAID;references:ID"`
+}
+
+func (PendaftaranSidSem) TableName() string {
+	return "pendaftaran_sidsem"
+}
diff --git a/src/models/PendaftaranTA.go b/src/models/PendaftaranTA.go
new file mode 100644
index 0000000000000000000000000000000000000000..157399253817c3a6cf486ae5d00eeecffa4c5970
--- /dev/null
+++ b/src/models/PendaftaranTA.go
@@ -0,0 +1,22 @@
+package models
+
+import "time"
+
+type PendaftaranTA struct {
+	ID              string    `gorm:"type:uuid;primaryKey;default:gen_random_uuid();unique"` // UUID as a string
+	IdTopik         string    `gorm:"type:uuid"`
+	IdMahasiswa     string    `gorm:"type:uuid"`
+	IdDosen         string    `gorm:"type:uuid"`
+	Status          bool      `gorm:"default:null"`
+	JalurPilihan    string    `gorm:"default:null"`
+	InterviewAt     time.Time `gorm:"default:null"`
+	DecidedAt       time.Time `gorm:"default:null"`
+	WaktuPengiriman time.Time `gorm:"autoCreateTime"`
+	Dosen           Pengguna  `gorm:"foreignKey:IdDosen;references:ID"`
+	Mahasiswa       Pengguna  `gorm:"foreignKey:IdMahasiswa;references:ID"`
+	Topik           Topik     `gorm:"foreignKey:IdTopik;references:ID"`
+}
+
+func (PendaftaranTA) TableName() string {
+	return "pendaftaran_ta"
+}
diff --git a/src/models/Pengguna.go b/src/models/Pengguna.go
index d7e0fabe8cee275eecc44f8aa18fe3bfcd5467f7..89da1cc87ea07a01f55fecd14fb8159369c83545 100644
--- a/src/models/Pengguna.go
+++ b/src/models/Pengguna.go
@@ -1,9 +1,5 @@
 package models
 
-const (
-	PenggunaTableName = "pengguna"
-)
-
 type roles string
 
 const (
@@ -22,7 +18,7 @@ const (
 )
 
 type Pengguna struct {
-	Id       string `gorm:"type:uuid;primaryKey;default:gen_random_uuid();unique" json:"id"`
+	ID       string `gorm:"type:uuid;primaryKey;default:gen_random_uuid();unique" json:"id"`
 	Nama     string `gorm:"column:nama" json:"nama"`
 	Email    string `gorm:"column:email" json:"email"`
 	Password string `gorm:"column:password;" json:"-"`
@@ -32,5 +28,5 @@ type Pengguna struct {
 }
 
 func (Pengguna) TableName() string {
-	return PenggunaTableName
+	return "pengguna"
 }
diff --git a/src/models/PengujiSidSem.go b/src/models/PengujiSidSem.go
new file mode 100644
index 0000000000000000000000000000000000000000..c56c7415c313b4ed453d15432a3d5f1b239d92b2
--- /dev/null
+++ b/src/models/PengujiSidSem.go
@@ -0,0 +1,14 @@
+package models
+
+type PengujiSidsem struct {
+	ID       string `gorm:"type:uuid;primaryKey;default:gen_random_uuid()" json:"id"`
+	SidsemID string `gorm:"type:uuid" json:"sidsemId"`
+	DosenID  string `gorm:"type:uuid" json:"dosenId"`
+
+	PendaftaranSidSem PendaftaranSidSem `gorm:"foreignKey:SidsemID;references:ID"`
+	Pengguna          Pengguna          `gorm:"foreignKey:DosenID;references:ID"`
+}
+
+func (PengujiSidsem) TableName() string {
+	return "penguji_sidsem"
+}
diff --git a/src/models/Ruangan.go b/src/models/Ruangan.go
new file mode 100644
index 0000000000000000000000000000000000000000..8c24846e14e1a0aae49a905462c18c6c576bfab2
--- /dev/null
+++ b/src/models/Ruangan.go
@@ -0,0 +1,10 @@
+package models
+
+type Ruangan struct {
+	ID   string `gorm:"type:uuid;primaryKey;default:gen_random_uuid()"`
+	Nama string `gorm:"type:text"`
+}
+
+func (Ruangan) TableName() string {
+	return "ruangan"
+}
diff --git a/src/models/SystemLogs.go b/src/models/SystemLogs.go
index 091722ee6d40b9d71c509ba3361e6b49c1e77304..eef5ea6bf74a69ec7a184e61d811deb963da1606 100644
--- a/src/models/SystemLogs.go
+++ b/src/models/SystemLogs.go
@@ -7,4 +7,6 @@ type SystemLogs struct {
 	IDPengguna string    `gorm:"column:id_pengguna" json:"id_pengguna"`
 	Action     string    `gorm:"column:action" json:"action"`
 	CreatedAt  time.Time `gorm:"column:created_at" json:"created_at"`
+
+	Pengguna Pengguna `gorm:"foreignKey:IDPengguna;references:ID"`
 }
diff --git a/src/models/Topik.go b/src/models/Topik.go
index bebf77e1776cfd5a9685ea60cf083474a74409bd..bc7ccc4f37ece802350503bba441920a62ef8ce2 100644
--- a/src/models/Topik.go
+++ b/src/models/Topik.go
@@ -1,16 +1,14 @@
 package models
 
-import "time"
-
 type Topik struct {
-	Id        string `gorm:"type:uuid;primaryKey;default:gen_random_uuid()"` // UUID as a string
-	Judul     string
-	Deskripsi string
-	IdDosen   string
-	NamaDosen string
-	Periode   string
-	CreatedAt time.Time `gorm:"autoCreateTime"` // Use this if you want to override the gorm.Model's CreatedAt
-	UpdatedAt time.Time `gorm:"autoUpdateTime"` // Use this if you want to override the gorm.Model's UpdatedAt
+	ID        string `gorm:"type:uuid;primaryKey"`
+	PengajuID string `gorm:"type:uuid"`
+	Judul     string `gorm:"text"`
+	Deskripsi string `gorm:"text"`
+
+	Pengguna Pengguna `gorm:"foreignKey:PengajuID;references:id"`
+}
 
-	Pengguna Pengguna `gorm:"foreignKey:IdDosen;references:Id"`
+func (Topik) TableName() string {
+	return "topik"
 }
diff --git a/src/models/pendaftaran.go b/src/models/pendaftaran.go
deleted file mode 100644
index 3b6bef222584cce9239d162ebdff99827f33e94c..0000000000000000000000000000000000000000
--- a/src/models/pendaftaran.go
+++ /dev/null
@@ -1,19 +0,0 @@
-package models
-
-import "time"
-
-type Pendaftaran struct {
-	Id          string     `gorm:"type:uuid;primaryKey;default:gen_random_uuid();unique"` // UUID as a string
-	IdTopik     string     `gorm:"type:uuid"`
-	IdMahasiswa string     `gorm:"type:uuid"`
-	IdDosen     string     `gorm:"type:uuid"`
-	Status      *bool      `gorm:"default:null"`
-	InterviewAt *time.Time `gorm:"default:null"`
-	DecidedAt   *time.Time `gorm:"default:null"`
-	CreatedAt   time.Time  `gorm:"autoCreateTime"` // Use this if you want to override the gorm.Model's CreatedAt
-	UpdatedAt   time.Time  `gorm:"autoUpdateTime"` // Use this if you want to override the gorm.Model's UpdatedAt
-	IdPeriode   string
-	Dosen       Pengguna `gorm:"foreignKey:IdDosen;references:Id"`
-	Mahasiswa   Pengguna `gorm:"foreignKey:IdMahasiswa;references:Id"`
-	Topik       Topik    `gorm:"foreignKey:IdTopik;references:Id"`
-}
diff --git a/src/models/usulan_judul.go b/src/models/usulan_judul.go
index 4eddc3e38f859ca2e3daf658c1e0232e04d50746..7afdbb3710b738d951c2e2cd2a52dad5ac2193a3 100644
--- a/src/models/usulan_judul.go
+++ b/src/models/usulan_judul.go
@@ -9,5 +9,5 @@ type UsulanJudul struct {
 	Status        *bool     `gorm:"default:null"`
 	CreatedAt     time.Time `gorm:"autoCreateTime"` // Use this if you want to override the gorm.Model's CreatedAt
 
-	Pendaftaran Pendaftaran `gorm:"foreignKey:IdPendaftaran;references:Id"`
+	PendaftaranTA PendaftaranTA `gorm:"foreignKey:IdPendaftaran;references:Id"`
 }
diff --git a/src/module/dashboard_dosbing/internal/repository/dashboard_dosbing.go b/src/module/dashboard_dosbing/internal/repository/dashboard_dosbing.go
index 5c9472a1e202258940916f6b69e10223edc74cc5..16ddf43cf23a60b37c56f2c63ae7683efdbe0f23 100644
--- a/src/module/dashboard_dosbing/internal/repository/dashboard_dosbing.go
+++ b/src/module/dashboard_dosbing/internal/repository/dashboard_dosbing.go
@@ -28,7 +28,7 @@ func (repo *DashboardDosbingRepo) GetMahasiswaByDosenId(idDosen string, offset,
 	var dosen models.Pengguna
 	var mahasiswa models.Pengguna
 	var topik models.Topik
-	var pendaftaran []models.Pendaftaran
+	var pendaftaran []models.PendaftaranTA
 	var logBimbingan models.BimbinganLogs
 	var statusBimbingan string
 
@@ -64,11 +64,11 @@ func (repo *DashboardDosbingRepo) GetMahasiswaByDosenId(idDosen string, offset,
 
 		topik := entity.TopikMahasiswaBingan{
 			Judul: topik.Judul,
-			Id:    topik.Id,
+			Id:    topik.ID,
 		}
 
 		bimbingan := entity.MahasiswaBimbingan{
-			IdMahasiswa: mahasiswa.Id,
+			IdMahasiswa: mahasiswa.ID,
 			Nama:        mahasiswa.Nama,
 			NIM:         mahasiswa.NIM,
 			Topik:       topik,
@@ -95,7 +95,7 @@ func (repo *DashboardDosbingRepo) GetAmountMahasiswaByDosenId(idDosen string) (o
 	}
 
 	// Mahasiswa IF
-	result = repo.DBRead.Model(&models.Pendaftaran{}).
+	result = repo.DBRead.Model(&models.PendaftaranTA{}).
 		Joins("JOIN pengguna m ON pendaftarans.id_mahasiswa = m.id").
 		Where("pendaftarans.id_dosen = ? AND m.nim LIKE ?", idDosen, "135%").
 		Count(&mahasiswaIF)
@@ -107,7 +107,7 @@ func (repo *DashboardDosbingRepo) GetAmountMahasiswaByDosenId(idDosen string) (o
 	jumlahMahasiswa.MahasiswaIF = int(mahasiswaIF)
 
 	// Mahasiswa STI
-	result = repo.DBRead.Model(&models.Pendaftaran{}).
+	result = repo.DBRead.Model(&models.PendaftaranTA{}).
 		Joins("JOIN pengguna m ON pendaftarans.id_mahasiswa = m.id").
 		Where("pendaftarans.id_dosen = ? AND m.nim LIKE ?", idDosen, "182%").
 		Count(&mahasiswaSTI)
@@ -127,7 +127,7 @@ func (repo *DashboardDosbingRepo) GetAmountStatusBimbinganMahasiswaByDosenId(idD
 
 	var dosen models.Pengguna
 	var mahasiswa models.Pengguna
-	var pendaftaran []models.Pendaftaran
+	var pendaftaran []models.PendaftaranTA
 	var logBimbingan models.BimbinganLogs
 
 	result := repo.DBRead.Where("id = ?", idDosen).First(&dosen)
diff --git a/src/module/status_mahasiswa/internal/repository/status_mahasiswa.go b/src/module/status_mahasiswa/internal/repository/status_mahasiswa.go
index 7ae99f8e033a3c637f411b51a4da4d8fc15bad8f..bff84e307c6101ed2c76614f5e2805ca80a25870 100644
--- a/src/module/status_mahasiswa/internal/repository/status_mahasiswa.go
+++ b/src/module/status_mahasiswa/internal/repository/status_mahasiswa.go
@@ -32,7 +32,7 @@ func (repo *StatusMahasiswaRepo) GetStatusMahasiswaByNIM(nim string) (output []e
 	var dosenPembimbing models.Pengguna
 	var topik models.Topik
 	var judul models.UsulanJudul
-	var pendaftaran models.Pendaftaran
+	var pendaftaran models.PendaftaranTA
 
 	statusPendaftaran.Status = true
 
@@ -41,19 +41,19 @@ func (repo *StatusMahasiswaRepo) GetStatusMahasiswaByNIM(nim string) (output []e
 	if result.Error != nil {
 		return nil, errors.New("mahasiswa tidak ditemukan")
 	}
-	statusMahasiswa.IdMahasiswa = mahasiswa.Id
+	statusMahasiswa.IdMahasiswa = mahasiswa.ID
 	statusMahasiswa.NIM = mahasiswa.NIM
 	statusMahasiswa.Nama = mahasiswa.Nama
 
 	// Get Pendaftaran
 
 	// conditions 1 : already got supervisor
-	result = repo.DBRead.Where("id_mahasiswa = ? AND status = TRUE", mahasiswa.Id).First(&pendaftaran).Order("updated_at DESC")
+	result = repo.DBRead.Where("id_mahasiswa = ? AND status = TRUE", mahasiswa.ID).First(&pendaftaran).Order("updated_at DESC")
 	if result.Error != nil {
 		if errors.Is(result.Error, gorm.ErrRecordNotFound) {
 
 			// conditions 2 : already apply but not accepted, yet
-			result = repo.DBRead.Where("id_mahasiswa = ? AND (status = FALSE OR status IS NULL)", mahasiswa.Id).First(&pendaftaran).Order("updated_at DESC")
+			result = repo.DBRead.Where("id_mahasiswa = ? AND (status = FALSE OR status IS NULL)", mahasiswa.ID).First(&pendaftaran).Order("updated_at DESC")
 			if result.Error != nil {
 				if errors.Is(result.Error, gorm.ErrRecordNotFound) {
 					// conditions 3 : not applied yeet
@@ -78,7 +78,7 @@ func (repo *StatusMahasiswaRepo) GetStatusMahasiswaByNIM(nim string) (output []e
 		}
 
 		// Get Judul
-		result = repo.DBRead.Where("id_pendaftaran = ?", pendaftaran.Id).First(&judul)
+		result = repo.DBRead.Where("id_pendaftaran = ?", pendaftaran.ID).First(&judul)
 		if result.Error != nil {
 			return nil, errors.New("judul tidak ditemukan")
 		}
@@ -86,10 +86,10 @@ func (repo *StatusMahasiswaRepo) GetStatusMahasiswaByNIM(nim string) (output []e
 		statusPendaftaran.Topik = topik.Judul
 		statusPendaftaran.Judul = judul.Judul
 		statusPendaftaran.DosenPembimbing = dosenPembimbing.Nama
-		statusPendaftaran.PengirimanRegistrasi = pendaftaran.CreatedAt
-		statusPendaftaran.PersetujuanDosenPembimbing = *pendaftaran.DecidedAt
-		statusPendaftaran.JadwalInterview = *pendaftaran.InterviewAt
-		statusPendaftaran.PengesahanDosenPembimbing = *pendaftaran.Status
+		statusPendaftaran.PengirimanRegistrasi = pendaftaran.WaktuPengiriman
+		statusPendaftaran.PersetujuanDosenPembimbing = pendaftaran.DecidedAt
+		statusPendaftaran.JadwalInterview = pendaftaran.InterviewAt
+		statusPendaftaran.PengesahanDosenPembimbing = pendaftaran.Status
 
 	}