Giter Site home page Giter Site logo

easyquiztest's Introduction

EasyQuiz

gồm 3 phần

API backend

thư mục /backend http://45.77.45.94:7000/explorer/#/

  • Công nghệ sử dụng framework: Loopback, database: memory db, Mongodb
  • dev: localhost, tham khao 1.Chạy backend

AdminCP

vào thư mục /easycms nằm ở repo https://gitlab.com/vinaas/easyquiz-cms.git deploy: http://easyquiz-cms.vinaas.com

  • Công nghệ sử dụng: Aurelia + Pages Admin theme, kế thừa Core source của EIC
  • chạy dev: xem README.md

EasyQuiz software

nằm ở thư mục /app

  • Công nghệ sử dụng: Electron, VueJS, SemanticUI
  • chạy dev: tham khảo 2.Chạy client

Mối quan hệ:

  • AdminCP sử dụng API backend
  • EasyQuiz sử dụng API backend
  • API backend:

Mô tả tính năng

Xây dựng ngân hàng đề thi (1000 câu)

Danh sách thí Sinh:

  • tạo mới account với quyền Thí Sinh
  • import từ file excel hệ thống

Xây dựng kỳ thi (100 câu)

  • Chọn câu hỏi từ ngân hàng Đề thi.

    • Random câu hỏi từ Đề thi
    • Chọn thủ công dựa theo Danh Mục.
  • Thiết lập kỳ thi

    • Số câu hỏi cho 1 bài thi (20 câu)

    • Câu trả lời được xáo trộn.

    • Thời gian bắt đầu, thời gian kết thúc.

    • Thời gian thi.

  • Phân quyền thí sinh sẽ tham gia vào kỳ thi này

    • Lựa chọn từ Danh Sách Thí Sinh có sẵn.
    • 20 câu trong bài thi : lấy random từ 100 câu của kì thi
  • AdminCP link: tạo mới trong link http://easyquiz-cms.vinaas.com/#/admin/ds-quiz

Diễn ra Kỳ thi

sử dụng EasyQuiz software để thi

Thống kê

Thí Sinh tham gia thi.

  • Dữ liệu theo từng Thí sinh.

  • Trạng thái thi

    • Chưa thi
    • Đang thi (Thông tin thời gian thi, thi lúc nào, thi trong bao lâu, số câu hỏi để trả lời)
    • Đã Thi (thời gian kết thúc, kết quả thi)
      • Trạng thái đã thi
      • Kết thúc trước thời gian quy định
      • Mất mạng khi đang thi.
      • Hoàn thành đúng thời gian.

Thông Tin kỳ thi (dành cho Admin)

  • Số thi sinh đang thi.
  • Số thi sinh đã thi.
  • Số thí sinh chưa thi.

Kết quả Kỳ thi

  • Số thi đã thi, chưa thi.
  • Thống kê phân tích theo thời gian.
  • Thống kê theo thí sinh.
  • Thống kê kết quả thi
    • Điểm trung bình/thí sinh

Thống kê theo nhiều kỳ thi.

  • Xếp hạng theo thí sinh.
  • Xếp hạng theo kỳ thi.

Kế hoạch thực hiện

Bản demo dùng thử: khoảng 10/05/2017

Phần mềm cài đặt trên máy con để thi

  • đăng nhập theo tài khoản
  • tham gia kì thi có sẵn
  • trả lời từng câu hỏi, lựa chọn đáp án trong thời gian giới hạn
  • kết quả sau khi hoàn thành bài thi

Bản chính thức: khoảng 10/06/2017

  • Hoàn thiện phần mềm thi cài trên máy con ở bản demo

  • Quản lý ngân hàng câu hỏi

    • thêm câu hỏi, đáp án, cho phép nhiều đáp án đúng
    • điều chỉnh nội
  • Quản lý kì thi:

    • tạo ra kì thi, thiết lập rules: số câu hỏi, thời gian thi, ...
    • lựa chọn danh sách câu hỏi từ ngân hàng có sẵn
  • Quản lý kết quả

    • cho phép điều chỉnh kết quả một số tài khoản
    • thống kê kết quả thi
  • Quản lý tài khoản

    • tạo tài khoản: thí sinh, giáo viên,...
    • phân quyền
    • phân thí sinh tham gia kì thi

Requirement

  • Git
  • Nodejs >= v.7.1

Cài đặt để build app

1. Cài đặt client

# Cài đặt electron vue dependencies
npm install

# Cài đặt dependencies cho renderer process (semaintic ui, sweetalert , axios, ...), nếu có cập nhật thêm dependencies trong file app/package.json thì cần cài đặt lại như câu lệnh bên dưới.
cd app # vào thư mực app
npm install
cd ..

2. Cài đặt backend

# cài đặt các thư viện cho backend (loopback)
cd backend #vào thư mục backend
npm install
cd ..

Chạy ứng dụng

1.Chạy backend

cd backend
node .
  • Fix Error: Cannot create data source "file_storage": Cannot initialize connector "loopback-component-storage": FileSystemProvider: Path does not exist: ./server/storage
    • Create folder storage in ./server

2.Chạy client

# chạy ở thư mục gốc
npm run dev 

Build to software (Win, Mac, Linux)

# build electron app for production
npm run build

# lint all JS/Vue component files in `app/src`
npm run lint

# run webpack in production
npm run pack

easyquiztest's People

Contributors

tungptvn avatar baotnq avatar phatnguyen81 avatar vvthinh avatar hiepelpulga avatar natuan62 avatar

Watchers

James Cloos avatar Thanh Truong Duc avatar

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.