Skip to content

Yuvalz19500/moveo-task-server

Repository files navigation

Nest Logo

A progressive Node.js framework for building efficient and scalable server-side applications.

NPM Version Package License NPM Downloads CircleCI Coverage Discord Backers on Open Collective Sponsors on Open Collective Support us

Task

Tom is Josh’s mentor for JS, but while Covid is still out there he prefers to do remote sessions. Tom wants to share with Josh a piece of code, observe him while he is writing and changing the code in real time.

Help Tom creating an online coding web application with the following pages and features :

Login page:

Implement basic authentication (username and password)

Lobby page (protected for mentors only):

The page should contain the title “Choose code block” and a list of at least 4 items which represents code blocks, each item can be represented by a name (for example - “Async case”) Clicking on an item should open a modal to choose a student (from users table) and generate a unique link (based on uuid) for you and the student which will take you both to the code block page.(this should be saved as a new session in DB). The student link should contain the param ‘student_login’ so we can first let him login and validate he is the correct user. (if not, show error “wrong user”.

Code block page:

Mentor can access the page without authentication, student have to go through authentication to validate he is the correct user. The mentor will see the code block he choose with a read only mode The student will see the code block with the ability to change the code The mentor will see the code changes in real time Use highlightjs to highlight the syntax Support JS code only

General guidelines:

DB entities (user and code blocks) should be created manually, no need for API or UI. a code block should have the fields ‘title’ and ‘code’ A session should have the fields ‘uuid’ (unique), ‘user’, ‘codeblock_id’ Add clear comments to the code where needed. This task involves client server and DB, you can use any framework/language you want.

Deploy the project and supply the url and credentials for a mentor.

Description

Nest framework TypeScript starter repository.

Installation

$ npm install

Running the app

# development
$ npm run start

# watch mode
$ npm run start:dev

# production mode
$ npm run start:prod

Test

# unit tests
$ npm run test

# e2e tests
$ npm run test:e2e

# test coverage
$ npm run test:cov

Support

Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please read more here.

Stay in touch

License

Nest is MIT licensed.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published