-
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.
- Loading branch information
Showing
161 changed files
with
6,292 additions
and
2,126 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
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 |
---|---|---|
@@ -0,0 +1,22 @@ | ||
[private] | ||
help: | ||
@just --list --justfile {{source_file()}} | ||
|
||
# Shows the Dependabot alerts on GitHub | ||
alerts: | ||
#!/usr/bin/env bash | ||
xdg-open https://github.com/MaMpf-HD/mampf/security/dependabot | ||
|
||
# Updates the Bundler package manager itself (NOT the Ruby gems) | ||
update-bundler: | ||
bundle update --bundler | ||
|
||
# Updates Ruby gems | ||
update-gems: | ||
bundle update | ||
|
||
# Updates Node.js packages | ||
update-nodejs: | ||
# You may have to run this command beforehand: | ||
# sudo chown your_user_name -R ./node_modules/ | ||
yarn upgrade |
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 |
---|---|---|
@@ -1,4 +1,3 @@ | ||
# Prints this help message | ||
[private] | ||
help: | ||
@just --list --justfile {{source_file()}} | ||
|
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 |
---|---|---|
@@ -0,0 +1,70 @@ | ||
[private] | ||
help: | ||
@just --list --justfile {{source_file()}} | ||
|
||
# Generates entity-relationship diagrams (ERD) of the database | ||
erd: | ||
#!/usr/bin/env bash | ||
|
||
# Make sure the mampf dev container is running | ||
cd {{justfile_directory()}}/docker/development/ | ||
if [ -z "$(docker compose ps --services --filter 'status=running' | grep mampf)" ]; then | ||
echo "The mampf dev container is not running. Please start it first (use 'just docker')." | ||
exit 1 | ||
fi | ||
|
||
mkdir -p {{justfile_directory()}}/tmp/erd/ | ||
|
||
# ▶ Generate ERDs | ||
# Customize it with options from here: https://voormedia.github.io/rails-erd/customise.html | ||
# Also see the output from: 'bundle exec erd --help' (inside the dev container) | ||
|
||
# Ignore some tables | ||
ignored_thredded="Thredded::Post,Thredded::UserPostNotification,Thredded::PrivateUser,Thredded::UserPrivateTopicReadState,Thredded::PrivateTopic,Thredded::MessageboardUser,Thredded::PrivatePost,Thredded:UserDetail,Thredded::MessageboardGroup,Thredded::Messageboard,Thredded::Category,Thredded::TopicCategory,Thredded::Topic,Thredded::UserTopicReadState,Thredded::UserTopicFollow,Thredded::NotificationsForFollowedTopics,Thredded::MessageboardNotificationsForFollowedTopics,Thredded::UserPreference,Thredded::UserMessageboardPreference,Thredded::NotificationsForPrivateTopics,Thredded::PostModerationRecord,Thredded::UserDetail" | ||
ignored_translation="Mobility::Backends::ActiveRecord::Table::Translation,Subject::Translation,Program::Translation,Division::Translation" | ||
ignored_commontator="Commontable,Votable,Subscriber,Creator" | ||
other_ignored="ActionMailbox::Record,ActionText::Record,ActiveStorage::Record,Sluggable,FriendlyId::Slug,ApplicationRecord,InteractionsRecord" | ||
exclude_default="${ignored_thredded},${ignored_translation},${ignored_commontator},${other_ignored}" | ||
|
||
# 🌟 Overview with attributes (warnings will be printed only here) | ||
docker compose exec -it mampf rake erd \ | ||
title=false filename=/usr/src/app/tmp/erd/mampf-erd-overview-with-attributes \ | ||
inheritance=false polymorphism=true indirect=false attributes=content \ | ||
exclude="${exclude_default}" | ||
|
||
# 🌟 Generic Overview | ||
docker compose exec -it mampf rake erd warn=false \ | ||
title=false filename=/usr/src/app/tmp/erd/mampf-erd-overview \ | ||
inheritance=false polymorphism=true indirect=false attributes=false \ | ||
exclude="${exclude_default}" | ||
|
||
# 🌟 Vouchers | ||
docker compose exec -it mampf rake erd warn=false \ | ||
title="Vouchers" filename=/usr/src/app/tmp/erd/mampf-erd-vouchers \ | ||
inheritance=true polymorphism=true indirect=true attributes=content \ | ||
exclude="${exclude_default},Teachable,Editable" \ | ||
only="User,Claim,Voucher,Redemption,Lecture,Tutorial,Talk" | ||
|
||
# 🌟 Tutorials | ||
docker compose exec -it mampf rake erd warn=false \ | ||
title="Tutorials" filename=/usr/src/app/tmp/erd/mampf-erd-tutorials \ | ||
inheritance=true polymorphism=true indirect=true attributes=content \ | ||
exclude="${exclude_default},Claimable,Editable,Teachable" \ | ||
only="User,Lecture,Tutorial,Submission,Assignment,TutorTutorialJoin,UserSubmissionJoin" | ||
|
||
# 🌟 Courses | ||
docker compose exec -it mampf rake erd warn=false \ | ||
title="Courses" filename=/usr/src/app/tmp/erd/mampf-erd-courses \ | ||
inheritance=true polymorphism=true indirect=true attributes=content \ | ||
exclude="${exclude_default},Claimable,Editable" \ | ||
only="Subject,Program,Division,DivisionCourseJoin,Course,Lecture,CourseSelfJoin,Lesson" | ||
|
||
# 🌟 Lectures | ||
docker compose exec -it mampf rake erd warn=false \ | ||
title="Lectures" filename=/usr/src/app/tmp/erd/mampf-erd-lectures \ | ||
inheritance=true polymorphism=true indirect=true attributes=content \ | ||
exclude="${exclude_default},Claimable,Editable,Teachable" \ | ||
only="Lecture,Lesson,Chapter,Section,Item,LessonSectionJoin,Term" | ||
|
||
echo "📂 Diagrams are ready for you in the folder {{justfile_directory()}}/tmp/erd/" | ||
echo "🔀 For the meanings of the arrows, refer to https://voormedia.github.io/rails-erd/gallery.html#notations" |
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
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
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. |
Oops, something went wrong.