This project is my personal web portfolio, where you can view my works, download my resume, and contact me. It is developed using the following technologies and tools:
- Next.js: Provides the foundation for building a scalable and high-performance React application with server-side rendering and static page generation.
- JavaScript: The primary programming language used for developing the functionality of the portfolio.
- CSS Modules (file.module.css and file.module.scss): Used for styling components with scoped CSS to avoid conflicts and ensure modularity.
- React Icons: A library of popular icons integrated into the project to enhance the visual appeal.
- SWR: A React hook library for data fetching, ensuring a seamless and efficient way to fetch data on the client-side.
- MongoDB: A NoSQL database used to store data on the server-side, providing flexibility and scalability.
- Mongoose: An Object Data Modeling (ODM) library for MongoDB and Node.js, used to manage data with a schema-based solution.
- Schema Creation: Created schemas for User and Post models using Mongoose to define the structure of the data.
- NextAuth: A complete authentication solution for Next.js applications, used for authenticating users.
- GoogleProvider: Used Google Console to enable Google authentication within the application.
- bcryptjs: Used for hashing passwords to store them securely instead of plaintext.
Each of these technologies plays a vital role in enhancing the functionality and user experience of the personal web portfolio, making it a modern and robust application.