This is a MERN stack portfolio project where users can:
- View blogs and specific blog posts
- View projects and specific project details
- Login using NextAuth with Google and GitHub authentication
- See messages saved in local storage
- Perform CRUD operations on blogs and projects
- Authentication: Users can log in using Google and GitHub via NextAuth.
- Blog Management: Users can view all blogs, view specific blog details, and perform CRUD operations on blogs.
- Project Management: Users can view all projects, view specific project details, and perform CRUD operations on projects.
- Local Storage: Messages are saved in local storage for quick access.
- Frontend: Next.js 15, Tailwind CSS
- Authentication: NextAuth
- Backend: Node.js, Express
- Database: MongoDB
To set up the project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/Artreeus/portfolio-project.git
-
Navigate to the project directory:
cd portfolio-project -
Install the dependencies:
npm install
-
Create a
.env.localfile in the root directory and add the following environment variables:NEXTAUTH_SECRET=http://localhost:3000 MONGODB_URI=your_mongodb_connection_string GOOGLE_CLIENT_ID=your_google_client_id GOOGLE_CLIENT_SECRET=your_google_client_secret GITHUB_CLIENT_ID=your_github_client_id GITHUB_CLIENT_SECRET=your_github_client_secret
-
Run the development server:
npm run dev
-
Open your browser and navigate to
http://localhost:3000.
Once the project is set up and running, you can:
- Browse through the list of blogs and projects.
- Log in using your Google or GitHub account to access additional features.
- Create, read, update, and delete blogs and projects.
- View messages saved in local storage.
If you would like to contribute to this project, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch). - Commit your changes (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature-branch). - Open a pull request.
This project is licensed under the MIT License.
For any questions or feedback, please contact me at [your-email@example.com].
Thank you for checking out my portfolio project!