{"id":15101338,"url":"https://github.com/martinlupa/cms-contentful-app","last_synced_at":"2026-01-06T21:50:07.848Z","repository":{"id":232657130,"uuid":"784854040","full_name":"MartinLupa/cms-contentful-app","owner":"MartinLupa","description":"Next.js app router + Contentful - Template prepared for Hack Your Future workshop hosted at DFDS.","archived":false,"fork":false,"pushed_at":"2024-04-10T19:13:48.000Z","size":73,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-04-10T21:49:24.302Z","etag":null,"topics":["client-side-rendering","cms","contentful","nextjs14","server-side-rendering"],"latest_commit_sha":null,"homepage":"https://cms-contentful-app-ashy-one.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MartinLupa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-04-10T17:30:16.000Z","updated_at":"2024-04-15T07:49:23.736Z","dependencies_parsed_at":"2024-04-15T07:49:13.531Z","dependency_job_id":"3f429bef-9aad-4597-aa2c-157b2693130d","html_url":"https://github.com/MartinLupa/cms-contentful-app","commit_stats":null,"previous_names":["martinlupa/cms-contentful-app"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MartinLupa%2Fcms-contentful-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MartinLupa%2Fcms-contentful-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MartinLupa%2Fcms-contentful-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MartinLupa%2Fcms-contentful-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MartinLupa","download_url":"https://codeload.github.com/MartinLupa/cms-contentful-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245858879,"owners_count":20684057,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["client-side-rendering","cms","contentful","nextjs14","server-side-rendering"],"created_at":"2024-09-25T18:20:40.045Z","updated_at":"2026-01-06T21:50:07.807Z","avatar_url":"https://github.com/MartinLupa.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hack Your Future - Next.js + Contentful workshop\n\nWelcome to the repo for this workshop!\n\n## What we will talk about:\n\n- What is a full-stack framework\n- Next.js\n- What are the different rendering strategies you can chose from (use cases and benefits):\n  - Client Side Rendering (CSR)\n  - Server Side Rendering (SSR)\n  - Static Site Generation (SSG)\n- Client Components and Server Components\n- Brief intro to the concept of a CMS. We will specifically use Contentful for this project.\n\n## What you should do before the workshop:\n\n- [ ] Research Next.js default project structure (checkout the repo)\n- [ ] Go through the [How to run the project](#how-to-run-the-project) and make sure to setup and run the app\n- [ ] Research App router:\n  - What is file-based routing?\n  - Creating a new page\n  - Creating dynamic pages\n  - Linking between pages\n- [ ] If you have never encountered Typescript yet, watch or read some brieft introduction to it\n\nDon't worry if you don't have enough time to go through all of this content. We will do a quick refresher in the workshop.\n\nThe main focus of the workshop will be to introduce you to Next.js as a full-stack framework and focus on rendering strategies so you start grasping new and more advanced concepts that will help you in the future.\n\u003c/br\u003e\n\u003c/br\u003e\n\n## How to run the project\n\nInitial actions:\n- `fork` the repository in GitHub\n- `clone` the repository locally from your GitHub account to your machine\n\n\u003cbr/\u003e\n\n1. Create a `.env.local` file at the root level and add the following environment variables:\n\n```\nCONTENTFUL_SPACE_ID=\u003cspace id value\u003e\nCONTENTFUL_ENVIRONMENT=\u003cenvironment value\u003e\nCONTENTFUL_ACCESS_TOKEN=\u003caccess token value\u003e\n```\n\nThe values for these variables will be provided in private through Slack. We are now a developer team and we don't post any secrets in public 😉\n\n\n\u003e This setup connects you to an already created Contentful account, you just need to ask for the values. If you want to create and use your own Contentful account to fetch content from, follow the dedicated guide [here](/README_configure_Contentful.md).\n\u003e \u003cbr/\u003e\n\u003e Note that it is not required to have your own Contenful account (as you can utilize the already setup account) and it takes some effort to get it working, so evaluate your time and energy resources wisely.\n\n\u003cbr/\u003e\n\n2. After having setup the `.env.local` file, install dependencies and run the project:\n\n```bash\nnpm install\nnpm run dev\n```\n\u003cbr/\u003e\n\n❗If you get an error like below, that is a setup issue on your side - you are not fetching any data. Consider why. \n\n\u003cimg src=\"./assets/fetching-error.png\"  width=\"400\"/\u003e\n\n\n\u003cbr/\u003e\n\n3. Change \"Blog.\" that is visible in the homepage to your name, take a screenshot of the homepage, and post it in the workshop Slack channel.  \nExample:\n\n\u003cimg src=\"./assets/example.png\"  width=\"400\"/\u003e\n\n\u003cbr/\u003e\n\u003chr\u003e\n\u003cbr/\u003e\nVoilà! You are ready for the workshop! 💃🕺\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmartinlupa%2Fcms-contentful-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmartinlupa%2Fcms-contentful-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmartinlupa%2Fcms-contentful-app/lists"}