Skip to content

stefanocorsi/dcuquiz

Repository files navigation

README

This is a repository dedicated to Assignment 3 for CA course at DCU Connected.

The following are the requirement for Assignment 3:

You have to design and build a database that could be used in a real world situation, ideally it should be useful in your workplace, but if this is not possible, then consider designing something for a charity, or perhaps a club that you are a member of. You can use a MySQL or MongoDB based solution.

Do not use real data in your solution. Sites like https://www.mockaroo.com/ will generate realistic looking pseudo data for your needs. If you are developing a database for work, ensure that your employer is comfortable with everything included in your submission.

  • Your design should have: multiple (more than four) tables/collections
  • Use drop downs where possible to limit users inputting poor data.
  • Try to use a variety of relationships in your design, e.g. weak, Ternary, Mulitvalued etc.
  • Appearance can be improved by the use of Cascading Style Sheets (CSS).
  • Be brave in your approach, for example maybe even consider generating a real time dashboard of the data.

If you want, you can use reflect.dcu.ie to store your project work. This site is your eportfolio and will be available to you even after you leave DCU. It has a limitation of just 5MB of storage, but you can use Google Drive and Youtube to store any large files and videos, with links from your project. Make sure to share your portfolio/Google Drive folders with your tutors.

Deliverables for the project should include:

  • Entity diagrams
  • Relationship Matrix
  • Entity Relationship Diagram
  • All code used: SQL, PHP, Python, Java, Javascript, HTML etc.
  • Any CSS used
  • A short (less than 10 minute) Video explaining the project (press Windows G in windows 10 to record).
  • Any relevant documents such as spreadsheets, powerpoint

Include any relevant references and citations

The idea and project requirement

For the assignment the idea is to create a new application "DCU Test"

DCUQuiz is an application that allows users to log in and answer a defined set of questions for a DCU's exam or assignment.

It also allows a tutor to create a test and enter a set of questions.

Questions are multiple-choice.

Each question can have a number of points assigned to the student.

Each test has a pass threshold.

Students log in with their username and password (registering on the website) and must complete a test in a given time.

If a student doesn't complete the test in time, the test is considered failed.

Tutors can check the results of the tests created by them.

Technology stack

For this project I will use:

  • The ruby on rails framework
  • The mysql database
  • Rails migrations as the database DML
  • Bootstrap 4.0 as CSS framework
  • Jquery 3.2.1
  • Devise authentication framework
  • Faker data mocking solution

Entity diagram

dcutest-entities drawio

Relationship matrix

immagine

Entity-relationship diagram

dcutest-er drawio

Installation

  1. Clone the git repository

    git clone https://github.com/stefanocorsi/dcuquiz/

    cd dcuquiz

  2. Install required gems

    bundle install

  3. Create mysql database as root

    cat sql/dcuquiz.sql | mysql -u root --default-character-set=utf8

  4. Run db migrations

    rails db:migrate

  5. Load seeds

    rails db:seed

And you should be up and running!

References

Authentication

Rails CRUD and Scaffold

Images (from from Unsplash.com)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published