This repository contains the source code for the second iteration of my portfolio website, built with Next.js, Tailwind CSS, and Sanity. The project is structured as a monorepo using Yarn Workspaces and is managed with Turborepo.
This project is the second version of my portfolio, designed to be open-source, easily customizable, and deployable. It features a Next.js frontend and a Sanity CMS backend for content management.
The project was inspired by Praha's Framer template, which served as a design reference.
This monorepo is organized using Yarn Workspaces and Turborepo. The workspaces are located in the apps and packages directories:
apps/web: The Next.js 14 frontend application.apps/studio: The Sanity CMS studio for content management.packages/*: Shared packages and utilities, including@v2/sanity-schemasfor type-safe Sanity content.
- Node.js (v18 or later)
- Yarn (v1.22 or later)
- Sanity CLI (install globally)
-
Clone the repository:
git clone https://github.com/Maiz27/v2.git cd v2 -
Install dependencies from the root directory:
yarn install
-
Set up environment variables:
- For the web app, copy
.env.exampleto.envinapps/weband provide your Sanity project details. - For the Sanity studio, please refer to the detailed instructions in the studio README.
- For the web app, copy
This project uses Turborepo to manage scripts. You can run the following commands from the root directory:
-
To start all applications in development mode:
yarn dev
-
To build all applications for production:
yarn build
-
To lint all applications:
yarn lint
You can also run scripts for individual applications:
yarn dev:web: Starts the development server for the web app.yarn dev:studio: Starts the development server for the Sanity studio.yarn build:web: Builds the web app for production.yarn build:studio: Builds the Sanity studio for production.yarn lint:web: Lints the web app.yarn lint:studio: Lints the Sanity studio.
Contributions are welcome! Please fork the repository and create a pull request with your changes.
This project is open-source and available under the MIT License.