{"id":28239984,"url":"https://github.com/luuppiry/luuppi-next","last_synced_at":"2025-09-02T13:04:17.278Z","repository":{"id":230872267,"uuid":"745951347","full_name":"luuppiry/luuppi-next","owner":"luuppiry","description":"🔁 The backbone of the luuppi.fi website (new weba) built using the latest bleeding-edge technologies, utilizing Next.js and the headless content management system, Strapi.","archived":false,"fork":false,"pushed_at":"2025-08-14T20:18:21.000Z","size":27791,"stargazers_count":11,"open_issues_count":23,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-08-14T22:14:11.166Z","etag":null,"topics":["computer-science","luuppi","luuppi-ry","nextjs","tailwind","tampere-university","tuni","weba"],"latest_commit_sha":null,"homepage":"https://luuppi.fi","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/luuppiry.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-01-20T16:37:27.000Z","updated_at":"2025-08-14T20:18:26.000Z","dependencies_parsed_at":"2024-05-01T14:56:49.745Z","dependency_job_id":"79662fc1-1984-4fc3-8c6f-7845d88ea267","html_url":"https://github.com/luuppiry/luuppi-next","commit_stats":null,"previous_names":["luuppiry/luuppi-next"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/luuppiry/luuppi-next","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luuppiry%2Fluuppi-next","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luuppiry%2Fluuppi-next/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luuppiry%2Fluuppi-next/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luuppiry%2Fluuppi-next/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/luuppiry","download_url":"https://codeload.github.com/luuppiry/luuppi-next/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luuppiry%2Fluuppi-next/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273287682,"owners_count":25078575,"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","status":"online","status_checked_at":"2025-09-02T02:00:09.530Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["computer-science","luuppi","luuppi-ry","nextjs","tailwind","tampere-university","tuni","weba"],"created_at":"2025-05-19T03:12:22.674Z","updated_at":"2025-09-02T13:04:17.269Z","avatar_url":"https://github.com/luuppiry.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"./.github/weba_banner.png\" alt=\"Luuppi ry web repository banner\"\u003e\n\n# [Luuppi ry - Weba](https://luuppi.fi)\n\n[Luuppi ry](https://luuppi.fi) is the subject association for students studying mathematics, statistical data analysis, and computer science at Tampere University. Since 1969, Luuppi has been actively promoting the interests of its members and organizing a variety of free-time activities. It proudly holds the distinction of being the largest subject association at the [University of Tampere](https://www.tuni.fi/en)!\n\n## About this Repository\n\nThis repository is the foundation of [luuppi.fi](https://luuppi.fi) website. It contains two main components: a Content Management System (CMS) powered by [Strapi](https://strapi.io/), and the website's frontend built using [Next.js](https://nextjs.org/). This project is led by Luuppi's **WWW / IT representatives**, who are elected annually through a voting process. If you have any questions about the repository, you can contact the team at **webmaster@luuppi.fi**.\n\n## Development setup\n\n### Frontend (_next_)\n\n\u003e [!IMPORTANT]\n\u003e The frontend content is primarily fetched from the CMS. Therefore, when developing the frontend, you should work with an instance of the CMS. If you are solely focused on frontend development without modifying the CMS logic, you can even use the production instance for this purpose. To make this adjustment, you can change the `NEXT_PUBLIC_STRAPI_BASE_URL` inside `next/.env.local`.\n\n**Note:** The following commands should be executed within the `next` folder.\n\n#### Prerequisites\n\nBefore you begin, ensure you have the following prerequisites installed on your system:\n\n- [Node.js](https://nodejs.org/en) (Version \u003e= v20.xx)\n\n#### 1. Configure `.env.local`\n\nFirst, fill in the configuration file `.env.local`. You can use `example.env` as a reference.\n\n#### 2. Install Dependencies\n\nRun the following command to install project dependencies:\n\n```bash\nnpm i\n```\n\n#### 3. Start the Development Server\n\nLaunch the development server by running the following command:\n\n```bash\nnpm run dev\n```\n\nThe development server should now be up and running at [http://localhost:3000](http://localhost:3000).\n\n### CMS (_strapi_)\n\nStrapi doesn't necessitate extensive coding. Initially, Strapi is bootstrapped using a CLI command. Subsequent 'development' mainly involves running a local instance and utilizing the content-type builder, which allows for local file changes. These changes can later be pushed to the remote server. Importantly, making modifications with the content-type builder can only be performed in the development environment; it's restricted in the production environment.\n\nIn summary, you use the content-type builder locally to structure the correct 'data models.' Once you've finished your work, you can push the changes to the remote server and switch to production mode.\n\n\u003cbr\u003e\n\n\u003e [!IMPORTANT]\n\u003e When modifying content in Strapi, update the newly generated types on the frontend by running `copyTypes.js` in the project's root. This action will copy the Strapi-generated types to the frontend.\n\n**Note:** The following commands should be executed within the `strapi` folder.\n\n#### Prerequisites\n\nBefore you begin, ensure you have the following prerequisites installed on your system:\n\n- [Node.js](https://nodejs.org/en) (Version \u003e= v20.xx)\n\n#### 1. Configure `.env`\n\nFirst, fill in the configuration file `.env`. You can use `example.env` as a reference.\n\n#### 2. Install Dependencies\n\nRun the following command to install project dependencies:\n\n```bash\nnpm i\n```\n\n#### 3. Start the Development Server\n\nLaunch the development server by running the following command:\n\n```bash\nnpm run dev\n```\n\nThe development server should now be up and running at [http://localhost:1337](http://localhost:1337).\n\n## Port Overview\n\nThe following ports are used in different environments:\n\n### Production Environment\n\n- Frontend (Next.js): 3000\n- Strapi CMS: 1337\n- Frontend PostgreSQL: 5433\n- Strapi PostgreSQL: 5432\n- Redis: 6379\n\n### Development Environment\n\n- Frontend (Next.js): 3003\n- Strapi CMS: 1338\n- Frontend PostgreSQL: 5434\n- Strapi PostgreSQL: 5452\n- Redis: 6382\n\n## Contribution\n\nWe encourage you to contribute to making the weba™️ better! Please refer to the [Contributing Guidelines](.github/CONTRIBUTING.md) for instructions on how to proceed.\n\nTrying to report a possible security vulnerability in this repository? Please\ncheck out our [Security Policy](.github/SECURITY.md) for\nguidelines about how to proceed.\n\n## Contributors ♥️ Thanks\n\nWe extend our gratitude to all those who take the time to improve Luuppi's website. The main goal of this project being open-source is to enable everyone to be part of it and, most importantly, to learn from a \"real project\" with a very low threshold.\n\n\u003ca href=\"https://github.com/luuppiry/luuppi-next/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=luuppiry/luuppi-next\u0026max=400\u0026columns=20\" /\u003e\n\u003c/a\u003e\n\n### Open Discussion\n\nWe have public [Telegram-channel](https://t.me/luupinweba) for people interested about Luuppi's web development :)\n\n\u003ca href=\"https://t.me/luupinweba\"\u003e\n  \u003cimg src=\"./.github/tunkkailu_banner.png\" alt=\"Luuppi ry web repository banner\"\u003e\n\u003c/a\u003e\n\n## License\n\nThis repository is released under the [MIT License](https://opensource.org/licenses/MIT).\n\n\u003cdetails\u003e\n\n\u003csummary\u003eBonus\u003c/summary\u003e\n\n# Time lost graveyard 🪦\n\n_Beginning of time starts from January 1, 1970, 00:00:00 UTC_\n\nFeel free to bring your meter here:\n\n#### Kasperi Pohtinen\n\n[![wakatime](https://wakatime.com/badge/user/a04247ba-6c76-456e-b04a-3dfa0bc6df41/project/018d2279-a88c-4764-afbe-c443f3ae9726.svg)](https://wakatime.com/badge/user/a04247ba-6c76-456e-b04a-3dfa0bc6df41/project/018d2279-a88c-4764-afbe-c443f3ae9726)\n\n#### Juliusz Kotelba\n\n[![wakatime](https://wakatime.com/badge/user/c8b15fbf-a210-457e-9da7-a0093d788004/project/7228ff6c-cafc-4c5f-b019-e1ef70fabea4.svg)](https://wakatime.com/badge/user/c8b15fbf-a210-457e-9da7-a0093d788004/project/7228ff6c-cafc-4c5f-b019-e1ef70fabea4)\n\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluuppiry%2Fluuppi-next","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fluuppiry%2Fluuppi-next","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluuppiry%2Fluuppi-next/lists"}