We make Berlin’s cultural diversity visible
On the one hand, the internet offers many ways to find out about Berlin’s diverse cultural scene, but on the other hand, there remains no central overview of all the city’s cultural institutions and events. With kulturdaten.berlin, we want to create the basis for making it easier to discover the diversity of Berlin’s culture - from small but inviting events held in a given neighborhood to major cultural productions. Via our data interface, event portals, for example, can obtain exactly the data they need for their particular sector focus in no time at all. kulturdaten.berlin is based on the principles of open data and open source. That means, the source code is open and the cultural data of the platform is freely and easily accessible to all via an API, so that others can use it to build their own applications, for example. Whether it’s an app specifically for barrier-free cultural experiences or a website with concert tips specific to a given neighborhood: we're opening up Berlin’s cultural data for anyone with fresh ideas to reuse.
kulturdaten.berlin is a project of the Technologiestiftung Berlin (https://www.technologiestiftung-berlin.de), funded by the Senate Department for Culture and Social Cohesion.
- Install a Node version according to the version specified in
.nvmrc
(e.g. withnvm install
ornvm use
) - Install MongoDB Community Edition
- Install packages with
npm install
- Generate OpenAPI schema files in
/src/generated
withnpm run generate
- Create an
.env
in the root directory and fill it with values (see.env.example
for inspiration)
# Local development server
npm run dev
# Local development server in debug mode
npm run debug
# Re-generate all OpenAPI schema files
npm run generate
# Format all code with Prettier
npm run format
# Lint all code with ESLint
npm run lint
# Lint the generated OpenAPI file
npm run lint-openapi
# Run the TypeScript compiler to find any TypeScript errors
npm run typecheck
Run all tests with Vitest (incl. hot reload when run locally):
npm test
npm start
The Seeder.ts script assists in initializing your database. Use the -t or --tags flag to add predefined tags. For setting up organizations for Berlin boroughs (excluding 'außerhalb'), use the -b or --boroughs flag with a default password. To set up an admin user, utilize the -a or --admin flag followed by credentials in email:password format. Combine flags for simultaneous operations. Example:
npm run seed -- --tags --boroughs password123 --admin [email protected]:password123
Note: The script only populates empty collections to avoid duplicates and unintended overwrites, especially important for admin user creation.
Before you create a pull request, write an issue so we can discuss your changes.
Thanks goes to these wonderful people (emoji key):
Thorsten Diekhof 💻 🤔 👀 📖 |
Sebastian Herrmann 💻 🤔 👀 |
Urs Schmidt 💻 🤔 👀 |
Simon Scholler 🤔 👀 |
This project follows the all-contributors specification. Contributions of any kind welcome!
Text and content available as CC BY.
Made by
|
Supported by:
|