A minimal modern, responsive open source portfolio website built with Next.js, TailwindCSS, and Sanity CMS.
- 📱 Responsive design
- 🇸🇦 Optimized for Arabic language
- 📝 Content management with Sanity
- 🌍 Internationalization support (Arabic and English)
- 🎨 Minimal & Modern UI
here is a my portfolio version of the app https://iAbdullah.dev
- Next.js
- React
- TailwindCSS
- Sanity CMS
- Next-intl
- Clone the project:
git clone https://github.com/Abdullah-Dev115/MinimalNext-Folio.git
- Copy the existing environment template file:
cp .env.example .env
- Install dependencies:
npm install
Sanity in this project is used as content managment system (CMS).
to setup Sanity:
-
Navigate to Sanity and create new account, if you don't have one. Then create new sanity project.
-
Copy your Sanity project ID, to
NEXT_PUBLIC_SANITY_PROJECT_ID
in.env
file. -
Under API tab, Add new Editor API Token.
Copy the API Token that will appear, and paste it on
SANITY_WRITE_TOKEN
in.env
file. -
Under API tab, Add your Next.js local server origin "http://localhost:3000" as new CORS origin.
You can use Fromspree or any other service to POST
contact message, then simply, add form endpoint to CONTACT_FORM_POST_ENDPOINT
in .env
file.
Run development server:
npm run dev
Open http://localhost:3000 with your browser to see the result.
Open http://localhost:3000/studio , login with your Sanity account, then, start writing about your projects or blog posts!
This portfolio uses internationalization with English and Arabic support. To customize the content:
-
Locate the language files:
- English:
/messages/en.json
- Arabic:
/messages/ar.json
- English:
-
Edit these files to insert your personal information and any other information:
- Personal Info: Change name, position, and location
/messages/en.json
"personalInfo": {
"name": "John Doe",
"position": "Software Engineer",
"location": "New York, USA"
}
/messages/ar.json
"personalInfo": {
"name": "جون دو",
"position": "مهندس برمجيات",
"location": "نيويورك, الولايات المتحدة"
}
- Projects: Update project descriptions and details
- Blog: Customize blog content and descriptions
- Footer: Update copyright information
Note: Make sure to update both language files to maintain consistency across languages.
If you find project helpful, please consider giving a star on GitHub! It helps continue improving the project.
- Design inspiration from Once-UI Portfolio
MIT License - feel free to use this project for your own portfolio!