A modern, responsive portfolio website built with Next.js 14, React 18, and Tailwind CSS. Features smooth animations powered by Framer Motion and a beautiful, interactive UI.
- 🚀 Built with Next.js 14 and React 18
- 💨 Tailwind CSS for styling
- 🎭 Framer Motion animations
- 📱 Fully responsive design
- 🌓 Custom cursor effects with Blobity
- 📧 Contact form integration with EmailJS
- ⚡ Optimized with Vercel Analytics and Speed Insights
- 🎨 Modern and clean UI/UX
- 🔍 SEO optimized
Before you begin, ensure you have the following installed:
- Node.js (v18 or higher)
- npm
- Clone the repository:
git clone https://github.com/iemafzalhassan/community_project.git
- Navigate to the project directory:
cd community_project
- Install dependencies:
npm install
- Create a
.env
file in the root directory and add your environment variables:
# Example environment variables (check .env.example)
NEXT_PUBLIC_EMAILJS_SERVICE_ID=your_service_id
NEXT_PUBLIC_EMAILJS_TEMPLATE_ID=your_template_id
NEXT_PUBLIC_EMAILJS_PUBLIC_KEY=your_public_key
- Start the development server:
npm run dev
Open http://localhost:3000 in your browser to see the result.
community_portfolio/
├── app/ # Next.js app directory
│ ├── components/ # React components
│ ├── contexts/ # React contexts
│ └── utils/ # Utility functions
├── public/ # Static assets
└── contexts/ # Global context providers
To build the project for production:
npm run build
To start the production server:
npm start
docker build -t community-portfolio .
docker run -p 3000:3000 community-portfolio
This is an open-source project, and contributions are welcome! Feel free to:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
If you have any feedback or suggestions, please open an issue in the repository. We appreciate your input!