This repository provided a frontend designed to integrate seamlessly with Sanity for structured content management. Leveraging the power of Nuxt.js, it focuses on content-driven web development with additional emphasis on geospatial data through the use of GeoJSON stored via @nuxt/content
. The site employs Leaflet for the interactive display of map information.
Built on Nuxt.js, this project benefits from its progressive framework, offering features like server-side rendering, static site generation, and a flexible plugin system.
The CMS functionality is deeply integrated with Sanity, utilizing @sanity/client
for seamless and structured content management.
Structured GeoJSON data is stored using @nuxt/content
, enabling efficient handling and rendering of geospatial information.
Map information is displayed interactively using Leaflet, providing a dynamic and user-friendly mapping experience.
Development tools include @nuxt/devtools
for enhanced development experience and various TypeScript dependencies (@types/node
, @typescript-eslint/eslint-plugin
, @typescript-eslint/parser
) for static typing.
The application is hosted and deployed using Cloudflare Pages. Automatic deployments occur in the following scenarios:
- Pull Request to Test Site: Any pull request triggers an automatic deployment to the test site, allowing for previewing changes before merging.
- Merge to Master for Production Site: Upon merging changes into the master branch, an automatic deployment to the production site takes place, ensuring a seamless transition of updates to the live environment.
The project provides essential scripts for development, building, and linting. Key scripts include:
dev
: Run the project in development mode.build
: Build the project for production.generate
: Generate static files.lint
: Lint the code using ESLint.
- Install dependencies:
npm install
- Run the development server:
npm run dev
- Build for production:
npm run build