Skip to content

narrowei/my-tutorials

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My-Tutorials

My-Tutorials is a platform where students could seek for tutorials as well as tutors could register tutorials. The website is lightweight, interactive, RESTful, could support reasonable size Database. The front-end and back-end are powered by Vue.JS and Node.JS respectively.

Features

  • Users sign-up and log-in/log-out
  • Users browse through tutorials
  • Users browse through tutor profiles
  • Users register new tutorials
  • Users enroll in selected tutorials
  • Users view tutorial enrollment history
  • Users view tutorial creation history
  • Users provide feedback upon finish tutorials
  • Users view their feedback and received feedback

Users can also:

  • Edit profile page, update personal information
  • Check tutorial history

Technologies

My-Tutorials uses a number of open source projects to work properly:

  • Vue.js - The Progressive JavaScript Framework
  • Node.js - Asynchronous event driven JavaScript runtime for the back-end
  • Express - Fast Node.js web application framework
  • Webpack - A static module bundler for modern JavaScript applications
  • Babel - A JavaScript compiler
  • Element - Vue 2.0 based component library
  • Gulp - Automation toolkit for front-end development

Installation Guide (client side)

Project setup

cd front-end
npm install

Compiles and hot-reloads for development

npm run serve

Compiles and minifies for production

npm run build

Lints and fixes files

npm run lint

Installation Guide (server side)

Project setup

cd Server
npm install gulp-cli -g (if you haven't install gulp)
npm install --save-dev gulp

Compiles and hot-reloads for development

gulp serve

Code Style

JavaScript

File name

File names must be all lowercase and may include underscores (_) or dashes (-), but no additional punctuation. Follow the convention that your project uses. Filenames’ extension must be .js.

File encoding: UTF-8

Source files are encoded in UTF-8.

Whitespace characters

Aside from the line terminator sequence, the ASCII horizontal space character (0x20) is the only whitespace character that appears anywhere in a source file. This implies that All other whitespace characters in string literals are escaped, and Tab characters are not used for indentation

Use single quotes

Ordinary string literals are delimited with single quotes ('), rather than double quotes (").

Braces are used for all control structures

Braces are required for all control structures (i.e. if, else, for, do, while, as well as any others), even if the body contains only a single statement. The first statement of a non-empty block must begin on its own line.

Block comment style

Block comments are indented at the same level as the surrounding code. They may be in /* … / or //-style. For multi-line / … */ comments, subsequent lines must start with * aligned with the * on the previous line, to make comments obvious with no extra context. “Parameter name” comments should appear after values whenever the value and method name do not sufficiently convey the meaning.

Use const and let

Declare all local variables with either const or let. Use const by default, unless a variable needs to be reassigned. The var keyword must not be used. One variable per declaration Every local variable declaration declares only one variable: declarations such as let a = 1, b = 2; are not used.

Constructors

Constructors are optional for concrete classes. Subclass constructors must call super() before setting any fields or otherwise accessing this. Interfaces must not define a constructor.

Class names

Class, interface, record, and typedef names are written in UpperCamelCase.

Method names

Method names are written in lowerCamelCase. Private methods’ names must end with a trailing underscore.

Constant names

Constant names use CONSTANT_CASE: all uppercase letters, with words separated by underscores

HTML & CSS

Document Type

Use HTML5. HTML5 (HTML syntax) is preferred for all HTML documents: .

Capitalization

Use only lowercase. All code has to be lowercase: This applies to HTML element names, attributes, attribute values (unless text/CDATA), CSS selectors, properties, and property values (with the exception of strings).

Indentation

Indent by 2 spaces at a time. Don’t use tabs or mix tabs and spaces for indentation.

ID and Class Naming

Use meaningful or generic ID and class names.

Addition

Vue.js does not support IE8 and below, because it uses ECMAScript 5 features that are un-shimmable in IE8. However it supports all ECMAScript 5 compliant browsers.

About

assignment 3 for AIP

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages