Luuppi Next (also called Weba) is an open-source website foundation for the Luuppi ry subject association at Tampere University, pairing a Next.js frontend with a Strapi headless CMS to power luuppi.fi.
What is Luuppi Next?
This repository is the foundational codebase for the luuppi.fi website. It contains two main components: a Content Management System (CMS) powered by Strapi and the website's frontend built using Next.js. The project is led by Luuppi's WWW / IT representatives, who are elected annually, and is released under the MIT License.
Key Features
- Next.js frontend — The frontend runs on Next.js (version compatible with Node.js v20+) and fetches content primarily from the Strapi CMS.
- Strapi CMS backend — The CMS runs on Strapi and provides a content-type builder for structuring data models; production mode restricts content-type modifications.
- Tailwind CSS — The repository's topics list Tailwind as the styling technology used for the frontend.
- Dual environment port configuration — Production and development use separate ports: frontend 3000/3003, Strapi 1337/1338, PostgreSQL 5432/5452 for Strapi and 5433/5434 for frontend, Redis 6379/6382.
- Sample data seeding — Includes seed.tar.gz for Strapi import and a seed.cjs script to populate all collections, plus development auth presets default, member, and hato.
- Prisma integration — The frontend syncs CMS content to a local Prisma database using pnpm prisma db push and a revalidate webhook at http://localhost:1337/admin/settings/webhooks.
- Type generation workflow — A copyTypes.js script copies Strapi-generated types to the frontend after content modifications.
- Open community — Contributions are encouraged with contributing guidelines and a public Telegram channel at t.me/luupinweba.
Who is it for?
- Student association developers — Luuppi's WWW/IT representatives use this codebase to manage and update the association's website.
- Open-source contributors — Developers interested in learning from a real project can contribute with a low threshold, as the project is open source.
- Tampere University students — The website serves Luuppi members and anyone looking for information about the association's activities.
Use cases
- Site content management — Editors can use the Strapi CMS to structure data models locally with the content-type builder and push changes to production.
- Local frontend development — Developers can run the Next.js frontend against a production CMS instance by changing NEXT_PUBLIC_STRAPI_BASE_URL in next/.env.local.
- Learning real-world architecture — The repository demonstrates a modern JAMstack-like setup with headless CMS, environment-specific ports, and seeded sample data.
How does Luuppi Next work?
The repository is split into next and strapi folders. For frontend development, you configure .env.local, install dependencies with pnpm i, and run pnpm dev. For the CMS, you run Strapi locally, use the content-type builder to adjust data models, and push changes to the remote server. Sample data can be imported with pnpm strapi import -f seed.tar.gz.
FAQ
Is Luuppi Next free to use?
Yes, the repository is released under the MIT License, so it is free to use and modify.
What technologies does Luuppi Next use?
The frontend is built with Next.js and Tailwind CSS, and the CMS is powered by Strapi. The frontend uses Prisma for database access and supports Redis and PostgreSQL.
How do I set up the development environment?
You need Node.js version 20 or later and pnpm. For the frontend, copy example.env to .env.local and run pnpm dev in the next folder. For the CMS, similarly configure .env and run pnpm dev in the strapi folder.
Can I use the production CMS for frontend development?
Yes, if you only work on the frontend, you can set NEXT_PUBLIC_STRAPI_BASE_URL to point to the production instance in next/.env.local.
How can I contribute?
Check the Contributing Guidelines in the repository. There's also a public Telegram channel at t.me/luupinweba for open discussion.
