Coder Social home page Coder Social logo

edctn's Issues

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)

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 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)

setup fails

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

cheerz

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)

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

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

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.