MachtBewwust - Hamburg Blog!
This project is a modern, dynamic german blog website built using Sanity as the headless CMS and Next.js for the frontend.
- Dynamic Content Management: Create, edit, and delete blog posts with ease using Sanity CMS.
- Author Profiles: Each blog post is associated with an author, complete with bio and profile picture.
- SEO Friendly: Optimized for search engines to ensure your content reaches a wider audience.
- Responsive Design: Fully responsive layout ensures the blog looks great on all devices.
- Fast Performance: Built with Next.js for optimal performance and fast page loads.
- Sanity: Headless CMS for managing content.
- Next.js: React framework for building server-side rendered and static web applications.
- React: JavaScript library for building user interfaces.
- TypeScript: Core programming languages for the project.
- HTML/CSS: Markup and styling.
- TailwindCSS: Utility-first CSS framework for rapid UI development.
- Node.js: JavaScript runtime for building server-side applications.
- Bun: A fast, modern JavaScript runtime like Node.js but designed with better performance and developer experience in mind.
To get a local copy up and running, follow these steps:
- Node.js and npm installed on your machine.
- A Sanity account and project set up.
-
Clone the repository:
git clone https://github.com/yourusername/machtbewwust.git cd machtbewwust
-
Install dependencies:
bun install
-
Set up Sanity:
- Follow the Sanity documentation to set up your Sanity project.
- Configure the
sanity.json
file with your project ID and dataset.
-
Environment Variables:
-
Create a
.env.local
file in the root directory. -
Add the following environment variables:
SANITY_PROJECT_ID=your_sanity_project_id SANITY_DATASET=your_sanity_dataset
-
To run the application in development mode, use the following command:
bun dev
The website will be available at http://localhost:3000
.
/machtbewwust
│
├── /components
│ ├── /About
| | |-- About.tsx
│ ├── /Banner
| | |-- Banner.tsx
│ └── /BlogCard
| | |-- BlogCard.tsx
| |-- /MaterialSection
| | |-- MaterialSection.tsx
| |-- /Datenbank
| | |-- Datenbank.tsx
| |-- /Footer
| | |-- Footer.tsx
| |-- /Kalender
| | |-- Kalender.tsx
| |-- /MaterialCards
| | |-- MaterialCards.tsx
| |-- /NavBar
| | |-- NavBar.tsx
| |-- /Newsletter
| | |-- Newsletter.tsx
| |-- /Pagination
| | |-- Pagination.tsx
| |-- /Section
| | |-- Section.tsx
| |-- /ShowMoreButton
| | |-- ShowMoreButton.tsx
| |-- /Tags
| | |-- Tags.tsx
│
├── /app
| |---/arbeitsmaterial
| | |-- page.tsx
| |---/bildungsmaterial
| | |-- page.tsx
| |---/datenbank
| | |-- page.tsx
| |---/datenschutz
| | |-- page.tsx
| |---/impressum
| | |-- page.tsx
| |---/kalender
| | |-- page.tsx
| |---/lib
| | |-- interface.ts
| | |-- sanityClient.ts
| |---/literatur
| | |-- page.tsx
| |---/material
| | |-- page.tsx
| |---/podcasts
| | |-- page.tsx
| |---/themen
| | |-- page.tsx
| | |---/[slug]
| | | |-- page.tsx
| |---/videos
| | |-- page.tsx
| |---/webseiten-und-blogs
| | |-- page.tsx
│ ├── favicon.ico
│ ├── layout.tsx
│ └── page.tsx
│
├── /public
│ ├── /images
│
├── /styles
│ ├── globals.css
│
├── /sanity
│ ├── schemas
│ │ ├── author.ts
│ │ └── datenbank.ts
| | |-- event.ts
| | |-- index.ts
| | |-- material.ts
| | |-- materialSection.ts
| | |-- tag.ts
| | |-- themen.ts
│ └── sanity.cli.ts
│
├── .env.local
├── package.json
└── README.md
- Create Content: Use Sanity Studio at
http://localhost:3333
to create and manage your blog posts and author profiles. - View Blog: Access the blog at
http://localhost:3000
to see your content live.
We welcome contributions to the MachtBewwust Blog Website! To contribute:
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Make your changes.
- Submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.