Welcome to davidrich.es, my personal website. This repository contains the source code and configuration for the site.
- Next.js v16: A React framework for building optimized and scalable web applications.
- React v19: JavaScript library for building user interfaces.
- TypeScript v5: Typed superset of JavaScript for better developer experience.
- Contentful: A headless CMS for managing and delivering content.
- pnpm: Fast, disk space efficient package manager.
- Netlify: Hosting platform for fast deployment and continuous delivery.
- Dynamic Content: Content managed through Contentful for seamless updates.
- Responsive Design: Optimized for desktop, tablet, and mobile devices.
- Performance Optimized: Leveraging Next.js's capabilities for server-side rendering (SSR) and static site generation (SSG).
- Netlify Hosting: Deployed with continuous integration for rapid updates.
Follow the instructions below to set up and run the project locally.
Ensure you have the following installed:
-
Clone the repository:
git clone https://github.com/yourusername/davidrich.es.git cd davidrich.es -
Install dependencies:
pnpm install
-
Configure environment variables:
Create a
.env.localfile in the root directory and add the following variables:NEXT_PUBLIC_CONTENTFUL_SPACE_ID=your-space-id NEXT_PUBLIC_CONTENTFUL_ACCESS_TOKEN=your-access-token
Replace
your-space-idandyour-access-tokenwith your Contentful API credentials.
Start the development server:
pnpm devOpen http://localhost:3000 in your browser to view the site.
Build the application for production:
pnpm buildStart the production server:
pnpm startThis project is deployed on Netlify. Pushes to the main branch trigger an automatic build and deployment.
For manual deployment:
-
Run the production build:
pnpm build
-
Deploy the
.nextfolder to Netlify.
Contributions are welcome! Feel free to open issues or submit pull requests.
This project is licensed under the MIT License. See the LICENSE file for details.
If you have any questions or feedback, feel free to contact me via the website or open an issue in this repository.
