<feed xmlns='http://www.w3.org/2005/Atom'>
<title>boilerplate.git/src/app, branch main</title>
<subtitle>Next.js boilerplate with authentication, user profiles, and file storage using MongoDB &amp; MinIO</subtitle>
<id>http://git.schererleander.de/boilerplate.git/atom/src/app?h=main</id>
<link rel='self' href='http://git.schererleander.de/boilerplate.git/atom/src/app?h=main'/>
<link rel='alternate' type='text/html' href='http://git.schererleander.de/boilerplate.git/'/>
<updated>2025-12-26T17:08:48Z</updated>
<entry>
<title>feat(auth): add two-factor authentication support</title>
<updated>2025-12-26T17:08:48Z</updated>
<author>
<name>schererleander</name>
<email>leander@schererleander.de</email>
</author>
<published>2025-12-26T17:08:48Z</published>
<link rel='alternate' type='text/html' href='http://git.schererleander.de/boilerplate.git/commit/?id=ad7b4f1ab0b3ef2f71e9a70078716aed50cdbf64'/>
<id>urn:sha1:ad7b4f1ab0b3ef2f71e9a70078716aed50cdbf64</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor(settings): split settings page into separate form components</title>
<updated>2025-12-26T17:08:25Z</updated>
<author>
<name>schererleander</name>
<email>leander@schererleander.de</email>
</author>
<published>2025-12-26T17:08:25Z</published>
<link rel='alternate' type='text/html' href='http://git.schererleander.de/boilerplate.git/commit/?id=a23753f65272dca3f0b54bed16d96512a3cbe20d'/>
<id>urn:sha1:a23753f65272dca3f0b54bed16d96512a3cbe20d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor(layout): move navbar and footer to root layout and switch toast library</title>
<updated>2025-12-26T17:08:21Z</updated>
<author>
<name>schererleander</name>
<email>leander@schererleander.de</email>
</author>
<published>2025-12-26T17:08:21Z</published>
<link rel='alternate' type='text/html' href='http://git.schererleander.de/boilerplate.git/commit/?id=d4052a1f73eb9fa293ac3ac2ab2bad0729474115'/>
<id>urn:sha1:d4052a1f73eb9fa293ac3ac2ab2bad0729474115</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(2fa): implement google authenticator 2fa</title>
<updated>2025-12-26T15:24:36Z</updated>
<author>
<name>schererleander</name>
<email>leander@schererleander.de</email>
</author>
<published>2025-12-26T15:24:36Z</published>
<link rel='alternate' type='text/html' href='http://git.schererleander.de/boilerplate.git/commit/?id=67527c2f52e76725ad78719d4b0307e702bd0da1'/>
<id>urn:sha1:67527c2f52e76725ad78719d4b0307e702bd0da1</id>
<content type='text'>
- add otplib and qrcode dependencies
- update user model with 2fa fields
- add twoFactorCode to validation schema
- implement api routes for setup, enable, disable
- add 2fa verification in auth flow
- add 2fa management ui in settings
- implement 2fa challenge in login page
</content>
</entry>
<entry>
<title>refactor: modularize settings form into smaller components</title>
<updated>2025-12-26T15:09:31Z</updated>
<author>
<name>schererleander</name>
<email>leander@schererleander.de</email>
</author>
<published>2025-12-26T15:09:31Z</published>
<link rel='alternate' type='text/html' href='http://git.schererleander.de/boilerplate.git/commit/?id=ca731fb137465408a3c1729c13d785f7857e67e0'/>
<id>urn:sha1:ca731fb137465408a3c1729c13d785f7857e67e0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor: implement server-side rendering for auth-dependent pages</title>
<updated>2025-12-26T15:07:58Z</updated>
<author>
<name>schererleander</name>
<email>leander@schererleander.de</email>
</author>
<published>2025-12-26T15:07:58Z</published>
<link rel='alternate' type='text/html' href='http://git.schererleander.de/boilerplate.git/commit/?id=ba8c98a8dccb8b561747168b90ae769a105d37cf'/>
<id>urn:sha1:ba8c98a8dccb8b561747168b90ae769a105d37cf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(login): improve error handling and redirect logic</title>
<updated>2025-12-26T14:59:52Z</updated>
<author>
<name>schererleander</name>
<email>leander@schererleander.de</email>
</author>
<published>2025-12-26T14:59:52Z</published>
<link rel='alternate' type='text/html' href='http://git.schererleander.de/boilerplate.git/commit/?id=de864671fb1c97137ac9240c1311de4b9d63bc2d'/>
<id>urn:sha1:de864671fb1c97137ac9240c1311de4b9d63bc2d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>style(ui): minor formatting updates to pages</title>
<updated>2025-12-26T13:57:45Z</updated>
<author>
<name>schererleander</name>
<email>leander@schererleander.de</email>
</author>
<published>2025-12-26T13:57:45Z</published>
<link rel='alternate' type='text/html' href='http://git.schererleander.de/boilerplate.git/commit/?id=360e487fbd658b2bab25aa1cd8c7a53d600e3074'/>
<id>urn:sha1:360e487fbd658b2bab25aa1cd8c7a53d600e3074</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor(api): enhance profile image upload security and validation</title>
<updated>2025-12-26T13:57:38Z</updated>
<author>
<name>schererleander</name>
<email>leander@schererleander.de</email>
</author>
<published>2025-12-26T13:57:38Z</published>
<link rel='alternate' type='text/html' href='http://git.schererleander.de/boilerplate.git/commit/?id=3899239f6baac801b4e3d2c60b3d8943b46b7358'/>
<id>urn:sha1:3899239f6baac801b4e3d2c60b3d8943b46b7358</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor(api): simplify password update logic</title>
<updated>2025-12-26T13:57:34Z</updated>
<author>
<name>schererleander</name>
<email>leander@schererleander.de</email>
</author>
<published>2025-12-26T13:57:34Z</published>
<link rel='alternate' type='text/html' href='http://git.schererleander.de/boilerplate.git/commit/?id=534918d81d891c32c01b0e59fff05638df9c3dee'/>
<id>urn:sha1:534918d81d891c32c01b0e59fff05638df9c3dee</id>
<content type='text'>
</content>
</entry>
</feed>
