Code Monkey home page Code Monkey logo

clonecademy's Introduction

clonecadamy

This is a project for the iGEM Team at TU Darmstadt build during the summer semester "bachelorpraktikum" of the faculty of Computer Science. The developers are four computer science students currently in the final year of our bachelor studies.

Installation (development)

If you have self package inside your home folder just go on. Otherwise you have to To install all run bin/setup_script.sh. It installes Docker if required and sets links to the /usr/bin folder to start the images from anywhere.

clonecademy_build builds the docker container for angular and django

clonecademy_start starts the containers and if you have atom installed you can add atom as parameter. This will open the folder with atom

clonecademy_stop stopps all container.

If you want to start, stop or build single parts you can use start_angular stop_angular build_angular start_django stop_django build_django.

django

To run a script on django you can user run_django and add your script. It is simmilar to python manag.py

angular

If you want to run a script on the angular docker use run_angular.

Installation (production)

To install the software on your server, you need to have Docker and docker-compose up to date. The installation script is located in /install/install.sh. This script links all files correctly (if you want to build a regular makefile, please feal free to create a pull-request).

You should change all settings in the files:

  • settings.py: You should change the allowed hosts to your local settings.
  • settings-secret.py: Change all fields
  • docker-compose.yml: You should change the path of the linked database. The database will be stored in the provided location on the server iself, so that data is kept, even if the docker container is down.
  • angular/environments/environent.ts: Change production to true

If you want to run the server, you only need to call docker-compose up. This will expose the plattform via port 80. The main page can now be reached via localhost and the admin backend of the Django instance via localhost/api/admin.

Update (production)

First, make a backup copy of the database folder. The location was provided by the docker-compose.yml. Then, stash your changed files either with git stash or by making a backup copy. If you have kept everything in the git repository, you can quickly check which files have been changed by running git status.

Then execute the following commands: git pull Reload your stashed files. ./install.sh docker-compose up

Everything should now ork as expected and run in the current version.

clonecademy's People

Contributors

binarybox avatar cvoelcker avatar generalgeki avatar ilhan38 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

msusenburger

clonecademy's Issues

endless mod requests possible

After placing a mod request the site states correctly the following:

Request unavailable (either you have sent a request recently, or you are already a moderator

Nonetheless it is possible to just reload the page and you can place a new mod request.

Anyway, could also be a problem with my database...

Courseediting leads to overwriting ownership

When an admin or anyone who didn't create the course in question edits it, the field containing the creator is overwritten with the editor, which is not the intended behaviour

Authorisation is broken

Actually i think that the authentication is broken leading to misbehaving authorization. This is a thing with the tokenized auth. and may be fixed by using session cookies.

wrong redirecting

When you reload the url /course/create_course you will be redirected to /course/page_not_found

"User Details" is a confusing name

On the Userstudies one user complained about the word "User details" it is not direktly saying what it means. Maybe something like settings would be better?

Validation goes wrong :(

ModelField Attributes are meaningless.
Everything has to be declared as a SerializerField to be validated correctly by the is_valid() function of the serializer

E.g.

class CourseCategorySerializer(serializers.ModelSerializer):

    class Meta:
        model = CourseCategory
        fields = ('name', "color", "id",)

    color = serializers.RegexField(r'^#[a-fA-F0-9]{6}', max_length=7,
                                   min_length=7, allow_blank=False)

"submit" is unclear

The button "submit" in question is not clear to all users and some had to search for it or didn't understand on their own the meaning.

authentification

Auf die Seite register im backend kann nicht zugegriffen werden, da die Authentifizierung mit Tokens auf der Seite noch deaktivierte werden muss.

add question in Course editing

While editing a course, the padding in every question-box is a bit low. Because of this, the "add question" 'drop-down' is easily missed.

screenshot from 2017-09-05 12-36-51

Course without any Question shows 404

screenshot from 2017-08-03 15-34-35
Trying to view a Course that hasn't any questions shows a 404 Message, although the Backendserver never sent one.
My guess is that the server correctly sends a status 200 with all the information it got, just that this isn't the expected information

Cookie for current user is not reset during logout

The stored user from the frontend is retained during logout and login with another user. If i logout wih my current user and login with another one, I can still see the other users details on the user detail page.

Custom feedback is not evaluated properly

The "feedback" field in the database was originally used to provide feedback for wrong answers in a popup. This has been overwritten for MultipleChoiceQuestions with the custom_feedback() method, so only the picture is shown now.

Submit on questions doesn't give feedback

Negativ or positiv on Questions would be good.
We could make for feedback a popup with a button for "back to question" on negativ and "next question" on positiv feedback.
This box contains for positiv feedback the feedback image and text

Show changes in edit view

For example: If you edit a course and change something, but don't save it, it would be nice to get the fields that changed highlighted.

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.