Coder Social home page Coder Social logo

notecheck's Introduction

NoteCheck

unit_tests_workflow

A simple django app for solfege exercises.

Currently supported exercises:

  • name note pitch (treble or bass clef, optional sharps and/or flats) in English/Slovenian/German language
  • name interval between the notes (quantity, quality+quantity, number of fulltones and/or semitones) in English/Slovenian language
  • write down scales (major/minor, natural/harmonic/melodic)

screenshot screenshot2 screenshot3 screenshot4

Installation and Quickstart

NoteCheck is a simple django app. It was tested with Django 3.2.6 and Python 3.8 on Ubuntu 20.04.

To setup the app locally:

  1. git clone https://github.com/matevz/notecheck.git; cd notecheck
  2. export SECRET_KEY=some_secret_key
  3. ./manage.py migrate
  4. ./manage.py compilemessages # Localization.
  5. ./manage.py createsuperuser # Add at least one admin user.
  6. DEBUG=1 ./manage.py runserver
  7. Teacher visits http://localhost:8000/admin, logs in and adds an exercise. Shares the public exercise link (http://localhost:8000/<exercise token>) to the student, e.g. http://localhost:8000/6d9b478d-e646-4614-8a95-9b73ece071a0.
  8. Student visits the link and solves the exercise.
  9. Teacher can view the submissions in the admin view http://localhost:8000/admin/notecheck/submission/.

Application settings (language, timezone etc.) are located in notecheckproject/settings.py.

notecheck's People

Contributors

matevz avatar

Watchers

 avatar

notecheck's Issues

Show exercise name and description

When solving the submission it would make sense to put the title of the current exercise and what your goal is (syntax of the note pitches etc.).

NotePitchExercise: Add responsive html

Currently the questions are float:left but the width of the form seems to be fixed to 960px. Horizontal scrollbars are used on mobile devices instead of showing a single or at most two questions per screen. Figure out why the responsive design doesn't work.

NotePitchExercise: Add typo check

Add pattern attribute to input fields which avoids common typos and expects something like (a-h)[aeis]*[1-5]|(A-H)[aeis]*[12] (not tested).

Add landing page

Figure out what to put to landing page. Maybe just redirect to admin/?

Add favicon

Add favicon.ico and fix routing accordingly

Add CI

Add CI which runs manage.py test and add a badge to readme.

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.