Giter VIP home page Giter VIP logo

webern-unibas-ch / awg-app Goto Github PK

View Code? Open in Web Editor NEW
4.0 3.0 8.0 364.94 MB

A prototype web application for the online edition of the Anton Webern Gesamtausgabe

Home Page: https://edition.anton-webern.ch

License: MIT License

JavaScript 0.53% TypeScript 93.18% HTML 5.25% CSS 0.20% Shell 0.04% SCSS 0.81%
angular digital-musicology digital-music-edition digital-humanities edition anton-webern

awg-app's Introduction

AWG App

GitHub package.json version GitHub package.json dependency version (prod) Node.js version GitHub commit activity CI Workflow codecov compodoc OpenSSF Scorecard OpenSSF Best Practices code style: prettier Contributor Covenant DOI

A prototype web application for the online edition of the Anton Webern Gesamtausgabe (AWG), located at the Department of Musicology of the University of Basel. It is written in Angular and runs on edition.anton-webern.ch.

Project Status: This project is actively maintained.

app

Table of Contents

Description

This repository houses the source code for the web application that powers the online edition of the Anton Webern Gesamtausgabe (AWG). Our goal is to provide a comprehensive, accessible, and interactive platform for exploring the works of Anton Webern.

Prerequisites

To run the code base yourself, there are only a few prerequisites to take care of. We use (modern) Yarn for dependency managing, so, before you begin, ensure you have met the following requirements:

  • You have installed the latest version of Node.js. You can check this by running node -v in your terminal. If Node.js is not installed, you can download it from here or use a Node version manager like nvm (Posix/Windows).
  • To activate Yarn, follow the instructions here:
    • Run corepack enable in the terminal (may need admin privileges to access node folder).
    • Check that Yarn was installed by running yarn -v in your terminal.

Note

While it's likely that the project can be run with classic Yarn, please be aware that this is no longer actively tested.

Getting Started

To get started with this project, follow these steps:

  1. Make sure you meet the prerequisites.
  2. Clone the repository: git clone [repository_url]
  3. Navigate into the project directory: cd [project_directory]
  4. Install the dependencies: yarn install

Usage

In the project directory, you can run the following command to serve the app in development mode:

  • yarn start or ng s: Serves the app in the development mode. Open http://localhost:4200 to view it in the browser.

During the development process, you'll also find the following commands useful for maintaining code quality and understanding the codebase:

  • yarn lint: Scans for linting errors using ESLint.

  • yarn lint:fix: Lints the project and automatically fixes any fixable issues.

  • yarn doc:serve: Generates documentation for the project using Compodoc and serves it at a local server. Open the URL provided in the terminal to view it in your web browser.

Building

To build the app, use the following commands:

  • yarn build:prod: Builds the app for production to the dist folder.

  • yarn build:gh: Same as yarn build:prod, but additionally prepares the build for deployment on GitHub Pages (includes base-href setting).

Releases

Releases for this project are automatically managed via Continuous Integration (CI). The following commands are involved in the release process:

  • yarn pre-release: Updates the app version and creates a changelog from the commit history.

  • yarn deploy:ci: Runs angular-cli-ghpages to deploy the app on GitHub Pages. To be used only from CI.

Testing

This project uses a dynamic testing approach with Jasmine and Karma for unit tests in Angular. Code coverage is measured with CodeCov.

We encourage contributors to uphold these standards. As such, new contributions are expected to include tests whenever applicable.

To assist with this, the following commands are provided:

  • yarn test: Launches the test runner.

  • yarn test:cov: Runs the tests and generates a coverage report.

  • yarn test:cov:serve: Runs the tests, generates a coverage report, and serves the coverage report at http://localhost:9875.

Contributing

We welcome contributions! Please see our Contributing Guide and Code of Conduct for more details how you may contribute to this project.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Stefan Münnich
Stefan Münnich

💻 ⚠️ 🤔 📖 📆 🚧 🚇 🎨 🖋 🐛
Thomas
Thomas

📆 🤔 📖 🖋 🔣
chael-mi
chael-mi

🤔 📖 🖋 🔣
vanBithoven
vanBithoven

💻 ⚠️ 📖
AMWilke
AMWilke

🔣

This project follows the all-contributors specification. Contributions of any kind welcome!

License

The software code of this project is released under MIT license, see LICENSE.md.

The contents of the webpage are released under Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA 4.0), see Disclaimer.

Contact and Issue Reporting

If you encounter a bug or any issue with the application, please report it by creating a new issue in the GitHub repository. When creating an issue, try to provide as much information as possible to help us understand and reproduce the problem.

For security concerns, please do not create a public issue. Instead, send an email directly to <info-awg[at]unibas.ch>, following our Security Policy. We take all security issues seriously and will respond as quickly as possible to resolve the matter.

For any other queries or if you wish to reach out directly, please contact us at <info-awg[at]unibas.ch>.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.