The official website of Coding Bunker, an independent tech community based in Milan, Italy.
We bring software professionals together through free meetups, practical talks, workshops, and conversations about real-world engineering challenges. Our focus is on sharing knowledge, learning from each other, and making the local tech ecosystem stronger.
Website · Events · Meetup · Telegram · Contribute
This repository contains the source code for the Coding Bunker website. It helps people:
- Discover upcoming and past community events.
- Learn about Coding Bunker, its team, partners, and impact in Milan.
- Find ways to participate, contribute, and connect with the community.
- Read our Code of Conduct.
The website is publicly developed, and contributions of all sizes are welcome.
- Framework: Next.js 15 (App Router), React 18
- Language: TypeScript
- Styling: Tailwind CSS 3 and CSS
- Package manager: pnpm 9.1.0
- Output: Static export in
dist/ - Event data: Public Coding Bunker Meetup listings
- Node.js 22.13.1, as specified in
.nvmrc - pnpm, managed via Corepack
git clone https://github.com/Coding-Bunker/codingbunker-website.git
cd codingbunker-website
# If you use nvm:
nvm install
nvm use
corepack enable
pnpm install --frozen-lockfile
pnpm devOpen http://localhost:3000.
No environment variables or API keys are required for the current website's local development or build.
| Command | Purpose |
|---|---|
pnpm dev |
Start the local development server. |
pnpm build |
Build and export the static site to dist/. |
pnpm lint |
Run ESLint checks. |
pnpm quality |
Check TypeScript types without emitting files. |
pnpm format:check |
Check formatting with Prettier. |
pnpm test:meetup |
Run the Meetup integration's automated tests. |
Before opening a pull request, run:
pnpm lint
pnpm quality
pnpm format:check
pnpm test:meetup
pnpm buildThe homepage and /events fetch public Coding Bunker Meetup event data at build time. The site does not need a Meetup API key.
- Upcoming and past events are derived from the public Meetup listings.
- The generated website is static, so newly published events require a new build/deployment to appear.
- If Meetup cannot be reached during a build, event sections can be empty and direct visitors to Meetup instead.
- The integration depends on publicly exposed Meetup page data, which can change upstream. Related code and tests live in
src/lib/meetup.tsandtests/meetup.test.ts.
The topic-voting form uses FormSubmit to email selected topics to Coding Bunker and redirect visitors to the thank-you page. It does not require an API key in this repository. See src/components/TopicVote.tsx.
src/
app/ # Pages, layouts, and route metadata (App Router)
components/ # Reusable UI components
lib/ # Meetup event integration
assets/ # Imported images and graphics
apiClient/ # Existing integration client modules
public/ # Public assets and icons
tests/ # Meetup integration tests and fixtures
.github/ # CI workflow and code ownership configuration
We welcome bug reports, improvements to accessibility and performance, documentation fixes, translations, and new features that benefit the community.
- Check existing issues before starting work.
- Read CONTRIBUTING.md for the fork and branch workflow.
- Make your change and run the checks above.
- Open a pull request explaining what changed and why. For visual changes, screenshots are helpful.
Not sure where to start? Open an issue to discuss your idea.
Coding Bunker is built around respectful, practical knowledge sharing. Everyone contributing to the website or interacting with our community is expected to follow our Code of Conduct (English version).
Join us on Meetup or Telegram. For community inquiries, contact info@codingbunker.it.
A software license has not yet been specified for this repository. Public access to source code does not automatically grant permission to reuse or redistribute it. Please contact the maintainers about reuse until a LICENSE file is added.