-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'dev' into feature/voucher-redemption
A lot of manual resolution was performed, which might have introduced small errors.
- Loading branch information
Showing
43 changed files
with
826 additions
and
579 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -107,6 +107,7 @@ | |
"factorybot", | ||
"helpdesk", | ||
"katex", | ||
"Timecop", | ||
"turbolinks" | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,41 +1,15 @@ | ||
# Contributing | ||
|
||
To ensure a smooth experience for contributions, please first open an issue about the change you wish to make or contact | ||
an active developer in some other way before making a change. | ||
We are a small dev team centered around [Denis Vogel](https://www.mathi.uni-heidelberg.de/~vogel/), the creator of MaMpf. He started the project on June 4, 2017 out of frustration with the existing tools and their shortcomings when it comes to teaching mathematics and uploading recorded lectures to the web. He has since been the main developer and maintainer of the project and added tons of functionality throughout the years. MaMpf is now used every day by the mathematics department at Heidelberg University to host their lectures. It is constantly being improved and extended. | ||
|
||
## Braches | ||
We have the following branches: | ||
- *production* | ||
- *main* | ||
- *mampf-next* | ||
- feature-branches (names vary) | ||
- *experimental* | ||
Denis Vogel was joined by many students along the way working on the project in the role of a payed HiWis (German abbreviation for "Hilsfwissenschaftler", research assistants) at Heidelberg University. They have contributed to the project in various ways, such as implementing new features, fixing bugs, testing the software and improving the documentation. | ||
|
||
### *production* | ||
contains the actual version deployed on [mampf](mampf.mathi.uni-heidelberg.de). | ||
The idea of MaMpf is to provide free material online to the whole world. In that spirit, the source code for MaMpf is open-source and licensed under the very permissive MIT license, so your university can host their own instance of MaMpf if they want to. | ||
|
||
### *main* | ||
is usually equal to *production*. Hotfixes are tested here before being merged to *production*. | ||
--- | ||
|
||
### *mampf-next* | ||
is the next intended version for mampf. This version is automatically deployed on | ||
[mampf-dev](mampf-dev.mathi.uni-heidelberg.de). Features should be developed in feature branches and merged here. | ||
**While we welcome contributions from everyone, please keep in mind that we are a very small team and currently cannot provide extensive mentoring or guidance to new external contributors.** If you are a HiWi at Heidelberg University, that's of course a different story, but unfortunately, right now we don't have too much time to onboard new developers form the outside. Knowledge transfer is often easier in persona than having to write down everything online. We have done such efforts in our [Wiki](https://github.com/MaMpf-HD/mampf/wiki) and continue to improve it as living document but don't expect it to be fully self-contained. | ||
Also note that due to MaMpf being very specific to our needs at Heidelberg University, we might reject contributions that are not in line with our vision for the project or too general (or too specific to another university) to be useful for us. Therefore, **please open an issue before starting to work on a pull request to discuss your idea with us**. | ||
|
||
### feature branches | ||
Collaborators may create a branch for each improvement they would like to integrate in *mampf-next*. If you do not have | ||
collaborator access yet, feel free to instead fork this repository and open a pull request targeted on the *mampf-next* | ||
branch. | ||
|
||
### *experimental* | ||
is used as a playground and for test deployments. Do **not** put important work here. This branch is intended to be | ||
force-pushed by any collaborator. If you ever want to deploy a version in a production-like environment, feel free to | ||
do | ||
|
||
> git checkout experimental | ||
> | ||
> git reset --hard <version> | ||
> | ||
> git push -f | ||
If you are not a collaborator, feel free to open a pull-request on experimental with a note, that you are aware of this | ||
policy and would just like to try out a change. | ||
> [!tip] | ||
> Check out our [**Wiki**](https://github.com/MaMpf-HD/mampf/wiki) if you are a new MaMpf developer and want to get started with setting up your own local Docker instance and get to know our development workflow and the code structure. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,144 +1,103 @@ | ||
source "https://rubygems.org" | ||
git_source(:github) { |repo| "https://github.com/#{repo}.git" } | ||
# We only pin versions to specific Git commits when they are "problem childs" | ||
# and we want to review each commit before updating to the latest version. | ||
|
||
ruby "3.1.4" | ||
|
||
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' | ||
gem "rails", "~> 7.1.3" | ||
# Use dalli for caching to memcached in production | ||
gem "dalli", ">= 2.7" | ||
# Ruby wrapper for UglifyJS JavaScript compressor | ||
gem "terser" | ||
# Use nulldb adapter for assets precompilation in production | ||
gem "activerecord-nulldb-adapter" | ||
# Use sqlite3 as the database for Active Record | ||
gem "sqlite3", "~> 1.4" | ||
# Use Puma as the app server | ||
gem "puma", "< 7" | ||
# Use SCSS for stylesheets | ||
gem "sass-rails", ">= 6" | ||
# Transpile app-like JavaScript. Read more: https://github.com/rails/webpacker | ||
# gem 'webpacker', '~> 4.0' | ||
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks | ||
gem "turbolinks", "~> 5" | ||
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder | ||
gem "jbuilder" | ||
# Use Redis adapter to run Action Cable in production | ||
# gem 'redis', '~> 4.0' | ||
# Use Active Model has_secure_password | ||
# gem 'bcrypt', '~> 3.1.7' | ||
|
||
# Use Active Storage variant | ||
# gem 'image_processing', '~> 1.2' | ||
|
||
# Reduces boot times through caching; required in config/boot.rb | ||
gem "active_model_serializers" | ||
gem "bootsnap", ">= 1.4.2", require: false | ||
gem "rack", "<3" | ||
# Use CoffeeScript for .coffee assets and views | ||
gem "coffee-rails", "~> 5.0.0" | ||
|
||
# Use Redis adapter to run Action Cable in production | ||
# gem 'redis', '~> 3.0' | ||
gem "fastimage" | ||
gem "image_processing" | ||
gem "mini_magick" | ||
gem "pdf-reader" | ||
gem "shrine" | ||
gem "streamio-ffmpeg" | ||
# Use ActiveModel has_secure_password | ||
# gem 'bcrypt', '~> 3.1.7' | ||
gem "filesize" | ||
# Use Capistrano for deployment | ||
# gem 'capistrano-rails', group: :development | ||
gem "activerecord-import", | ||
git: "https://github.com/zdennis/activerecord-import.git", | ||
branch: "master" | ||
gem "acts_as_list" | ||
gem "acts_as_tree" | ||
gem "acts_as_votable" | ||
gem "barby" | ||
gem "bootstrap", "~>5" | ||
gem "bootstrap_form" | ||
gem "cancancan" | ||
gem "clipboard-rails" | ||
gem "commontator" | ||
gem "coveralls", require: false | ||
gem "devise" | ||
gem "devise-bootstrap-views" | ||
gem "erubis" | ||
gem "exception_handler", "~> 0.8.0.0" | ||
gem "faraday", "~> 1.8" | ||
gem "fuzzy-string-match" | ||
gem "jquery-rails" | ||
gem "jquery-ui-rails" | ||
gem "active_model_serializers", "~> 0.10" | ||
gem "activerecord-import", "~>1.7" | ||
gem "activerecord-nulldb-adapter", "~> 1.0" # for assets precompilation in production | ||
gem "acts_as_list", "~> 1.2" | ||
gem "acts_as_tree", "~> 2.9" | ||
gem "acts_as_votable", "~> 0.14" | ||
gem "barby", "~> 0.6" | ||
gem "bootsnap", "~> 1.18", require: false # reduces boot times through caching | ||
gem "bootstrap", "~>5.3" | ||
gem "bootstrap_form", "~> 5.4" | ||
gem "cancancan", "~> 3.6" | ||
gem "clipboard-rails", "~> 1.7" | ||
gem "coffee-rails", "~> 5.0" # CoffeeScript for .coffee assets and views | ||
gem "commontator", "~> 7.0.1" | ||
gem "coveralls", "~> 0.7", require: false | ||
gem "dalli", "~> 3.2" # caching to memcached in production | ||
gem "devise", "~> 4.9" | ||
gem "devise-bootstrap-views", "~> 1.1" | ||
gem "erubis", "~> 2.7" | ||
gem "exception_handler", "~> 0.8.0.0", "~> 0.8.0" | ||
gem "faraday", "~> 1.8", "~> 1.10" | ||
gem "fastimage", "~> 2.3" | ||
gem "filesize", "~> 0.2" | ||
gem "fuzzy-string-match", "~> 1.0" | ||
gem "image_processing", "~> 1.13" | ||
gem "jbuilder", "~> 2.12" # build JSON APIs easily | ||
gem "jquery-rails", "~> 4.6" | ||
gem "jquery-ui-rails", "~> 7.0" | ||
gem "js-routes", "1.4.9" | ||
gem "kaminari" | ||
gem "kaminari-i18n" | ||
gem "kramdown-parser-gfm" | ||
gem "mobility" | ||
gem "net-smtp" | ||
gem "pg" | ||
gem "premailer-rails" | ||
gem "progress_bar" | ||
gem "rails-i18n" | ||
gem "responders" | ||
gem "rgl" | ||
gem "rqrcode" | ||
gem "rubyzip", "~> 2.3.0" | ||
gem "sidekiq" | ||
gem "sidekiq-cron", "~> 1.1" | ||
gem "sprockets-rails", | ||
git: "https://github.com/rails/sprockets-rails", | ||
branch: "master" | ||
gem "sunspot_rails", | ||
github: "sunspot/sunspot", | ||
glob: "sunspot_rails/*.gemspec" | ||
gem "sunspot_solr" | ||
gem "kaminari", "~> 1.2" | ||
gem "kaminari-i18n", "~> 0.5" | ||
gem "kramdown-parser-gfm", "~> 1.1" | ||
gem "mini_magick", "~> 4.13" | ||
gem "mobility", "~> 1.2" | ||
gem "net-smtp", "~> 0.5" | ||
gem "pdf-reader", "~> 2.12" | ||
gem "pg", "~> 1.5" | ||
gem "premailer-rails", "~> 1.12" | ||
gem "progress_bar", "~> 1.3" | ||
gem "prometheus_exporter", "~> 2.1" | ||
gem "puma", "~> 6.4" # app server | ||
gem "rack", "~> 2.2" | ||
gem "rails", "~> 7.1.3" | ||
gem "rails-i18n", "~> 7.0" | ||
gem "responders", "~> 3.1" | ||
gem "rgl", "~> 0.6" | ||
gem "rqrcode", "~> 2.2" | ||
gem "rubyzip", "~> 2.3" | ||
gem "sass-rails", "~> 6.0" # SCSS for stylesheets | ||
gem "shrine", "~> 3.6" | ||
gem "sidekiq", "~> 7.3" | ||
gem "sidekiq-cron", "~> 1.12" | ||
gem "sprockets-rails", "~>3.5" | ||
gem "streamio-ffmpeg", "~> 3.0" | ||
gem "sunspot_rails", "~> 2.7" | ||
gem "sunspot_solr", "~> 2.7" | ||
gem "terser", "~> 1.2" # Ruby wrapper for UglifyJS JavaScript compressor | ||
gem "thredded", git: "https://github.com/thredded/thredded.git", | ||
ref: "1340e913affd1af5fcc060fbccd271184ece9a6a" | ||
gem "thredded-markdown_katex", | ||
git: "https://github.com/thredded/thredded-markdown_katex.git", | ||
branch: "main" | ||
gem "trix-rails", require: "trix" | ||
gem "webpacker", "~> 5.x" | ||
ref: "e2830bdb40880018a0e59d2b82c94b0a9f237365" | ||
gem "trix-rails", "~> 2.4", require: "trix" | ||
gem "turbolinks", "~> 5.2" # make navigating the app faster | ||
gem "webpacker", "~> 5.4" | ||
|
||
group :development, :docker_development do | ||
gem "listen", "~> 3.9" | ||
gem "rails-erd" | ||
# Access an interactive console on exception pages or by calling 'console' anywhere in the code. | ||
gem "web-console", ">= 3.3.0" | ||
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring | ||
gem "marcel" | ||
gem "pgreset" | ||
gem "rubocop", "~> 1.63", require: false | ||
gem "marcel", "~> 1.0" | ||
gem "pgreset", "~> 0.4" | ||
gem "rails-erd", "~> 1.7" | ||
gem "rubocop", "~> 1.65", require: false | ||
gem "rubocop-performance", "~> 1.21", require: false | ||
gem "rubocop-rails", "~> 2.24", require: false | ||
gem "spring" | ||
gem "spring-watcher-listen", "~> 2.0.0" | ||
# gem 'bullet' | ||
gem "spring", "~> 2.1" # app preloader, keeps app running in background for development | ||
gem "spring-watcher-listen", "~> 2.0" | ||
gem "web-console", "~> 4.2" # interactive console on exception pages | ||
end | ||
|
||
group :test do | ||
# Adds support for Capybara system testing and selenium driver | ||
gem "selenium-webdriver" | ||
# Easy installation and use of web drivers to run system tests with browsers | ||
gem "database_cleaner-active_record" | ||
gem "faker" | ||
gem "launchy" | ||
gem "simplecov", require: false | ||
gem "webdrivers" | ||
gem "database_cleaner-active_record", "~> 2.2" # clean up database between tests | ||
gem "faker", "~> 3.4" | ||
gem "launchy", "~> 3.0" | ||
gem "selenium-webdriver", "~> 4.10.0" # support for Capybara system testing and selenium driver | ||
gem "simplecov", "~> 0.22", require: false | ||
gem "timecop", "~> 0.9.10" | ||
gem "webdrivers", "~> 5.3" | ||
end | ||
|
||
group :test, :development, :docker_development do | ||
# Call 'byebug' anywhere in the code to stop execution and get a debugger console | ||
gem "byebug", platforms: [:mri, :mingw, :x64_mingw] | ||
gem "factory_bot_rails" | ||
gem "rspec-rails" | ||
|
||
gem "simplecov-cobertura" | ||
|
||
gem "rspec-github" | ||
gem "byebug", "~> 11.1", platforms: [:mri, :mingw, :x64_mingw] | ||
gem "factory_bot_rails", "~> 6.4" | ||
gem "rspec-github", "~> 2.4" | ||
gem "rspec-rails", "~> 6.1" | ||
gem "simplecov-cobertura", "~> 2.1" | ||
end | ||
|
||
gem "prometheus_exporter" |
Oops, something went wrong.