Coder Social home page Coder Social logo

edctn's Introduction

edctn's People

Contributors

mikeoleynik avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

ockhamlabs

edctn's Issues

Mentor can add document

Describe feature

The mentor must be able to add a document to theme or task to it.

Describe user stories

  • Mentor can add documents to task;
  • Mentor can add documents to theme;

Describe logic

  • model Document, add polymorphic association, field: :file, :documentable_id, :documentable_type (+ index)

Additional context

Creating theme

General

Theme is an object that connects tasks common logic.

User stories

  • Mentor can create theme;
  • Mentor can add task in theme;
  • Theme have access;

Backend:

model Theme, field: :title
model ThemeTask, field: :theme_id, :task_id, :access (boolean)

Creating course

General

The mentor must be able to create a course and add theme to it. The course looks like a theme's list contains inside tasks.

User stories

  • Mentor can create course;
  • Mentor can add task to course;
  • Task open consistently;
  • Theme can exist separately or belongs to courses;
  • All tasks of theme enter the course.
  • When completing all tasks of theme (one course), opens access to the next theme.
  • Access to the next task gives the teacher

Backend:

  • model Course, field: :title
  • model Theme, add field: :course_id (optional: true)

Create task

General

On the client it will simple WYSIWYG (maybe editor.js).
For the student, it will look like a post in the blog.
Task has text and picture.

User stories

  • The student can be given a task.
  • Mentor set difficulty level for the task;
  • After creating task - student receive notification;

Backend:

  • model Task, field: :title, :body, :difficulty, :theme_id
  • join table user_tasks, field: user_id, :task_id
  • model Picture, field: :image, :task_id (maybe model will polymorphic)

Adding statistics for mentors.

General

Mentor will look statistic:

  1. by students
    • tasks performed;
    • tasks not performed;
    • ...
  2. by one task -> student
    • take time;
    • date;
    • ...
  3. by task
    • number of students who completed the task;
    • number of students who not completed the task;
    • ...

User Stories

  • Mentor in profile can look at his students and tasks;
  • Mentor on student page can look at statistics by students;
  • Mentor in task page can look at statistics by task;
  • Mentor in task page can look at statistics by one task -> student

Backend

model Statistic, field: :complete (boolean), :task_id, user_id (counter_cache: ?)
Join table statistics

Mentor can review task.

Describe feature

The task page has a comment field. Mentor and students can write a comment.

Describe user stories

  • Mentor can review task (write comment);
  • After the review task, - the student receives a notification.

Describe logic

  • model Comment, field: :body, :task_id, :user_id (maybe model will polymorphic)

Additional context

setup fails

delete db:seed from script cuz it's run while db:setup runs

cheerz

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.