User Portfolio Management
Hello! Iβve decided to present my projects in a more personal and conversational tone, and this project marks the beginning of that journey! π
For this project, I chose a full-stack challenge provided by DevChallenges
and created User Portfolio Management.
The goal was to build a modern web
application where developers can showcase their projects and easily share links
to their work.
During development, I discovered Better Auth, and I was excited to implement it. Even though itβs still in beta, I really enjoyed using it and plan to continue once it reaches v1. The application supports both GitHub OAuth and email/password authentication, and both flows work seamlessly.
Once you fill out your personal information and portfolio details, you can share your portfolio link on platforms like LinkedIn or GitHub, letting your projects speak for themselves.
I had so much fun building this project, and I hope you enjoy exploring it as much as I enjoyed coding it.
Happy coding! π
Key Features π
- Portfolio Management: Users can add, edit, and delete projects, complete with images and descriptions.
- Authentication: Supports login via GitHub OAuth and email/password authentication.
- Image Handling: Projects include image upload with resizing to ensure optimal display.
- Responsive UI: Built with TailwindCSS for a modern, mobile-friendly experience.
- Database: Fully integrated with PostgreSQL using Drizzle ORM.
- Secure Password Reset: Allows users to reset their passwords securely.
Forgot Password Functionality π
If you forget your password, click the "Forgot Password" link on the login page. After entering your registered email, you'll receive a password reset link via email.
Important Note:
- The password reset email might land in your Spam/Junk folder.
- Sender email:
nasilolurduuu@gmail.com
(used for testing and other projects).
Follow the link in the email to securely reset your password.
Technologies Used π οΈ
- Next.js: Framework for building the app with server and client components.
- tRPC: For type-safe API interactions.
- Drizzle ORM: Simplified database interactions with PostgreSQL.
- TailwindCSS: Modern styling framework for responsive design.
- Zod: For schema validation in forms and APIs.
Links
- Source Code: GitHub Repository
- Demo: Live Application