Giter Club home page Giter Club logo

rsschool-app's Introduction

Deploy

RS School App

The app.rs.school is an application for the RS School education process. It helps thousands students to become Front-end/Back-end/Mobile/Data Science engineers.

Monitoring

https://status.rs.school/

Technology Overview

Stack

Infrastructure

Getting Started

Prerequisites

Please install the following software before starting development:

Steps

  • Clone repository
  • Run npm install (installs dependencies in the root folder and client / server folders.)
  • Run npm run db:up (starts local database)
  • Run npm run db:restore (restore a test DB snapshot)
  • Make a copy of server/.env.example and nestjs/.env.example and rename it to server/.env and nestjs/.env respectively.
  • Run npm start (starts application by running Next.js and REST API server)
  • Open https://localhost:3000 in a browser
  • See more in CONTRIBUTING guide

Running docs locally

  • Install docsify globally: npm i -g docsify-cli
  • Run docsify serve -p 4000 docs

Contributing

See CONTRIBUTING guide

Contributors

Code Contributors

This project exists thanks to all the people who contribute. [Contribute].

Made with contrib.rocks

Financial Contributors

Become a financial contributor and help us sustain our community. [Contribute]

Individuals

Organizations

Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]

License

Mozilla Public License 2.0

rsschool-app's People

Contributors

aaliakseyenka avatar alphajax avatar alreadybored avatar alxblsk avatar andreikovna avatar anv21 avatar apalchys avatar daniil-loban avatar dependabot[bot] avatar dimaromaniuk avatar dmitryromaniuk avatar dzmitry-varabei avatar forkollaider avatar helenakrasnova avatar i-vasilich-i avatar kostyadedulya avatar m5l14i11 avatar memos77 avatar mikhama avatar nataliagulko avatar nikitakorevo avatar niksrakevich avatar not-saint avatar pulya10c avatar siarhei-smantsar avatar sonejka avatar stpnvntn avatar superbhaggis avatar thorsangervanet avatar valerydluski avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rsschool-app's Issues

Доступ к Score

По результатам анонса в Discord:

  • 108 чел увидели свои оценки
  • 66 чел не увидели свои оценки

Фидбеки:

  • У ментора https://github.com/DmitryRomaniuk/ - "no data"
  • У нескольких активистов:
    • При попытке авторизации пишет {"message":"Too many requests, please try again later."}
    • Сперва с телефона писал no data, потом открылся. Все оценки по нулям. С компа - опять no data
    • тоже самое, no data/ открывает / no data
    • cтуденты видят форму сабмита http://app.rs.school/task-score?course=rs-2019-q1

Персональные данные ментора

Не предоставлять студентам номер телефона ментора без согласия последнего. Студенты могут пользоваться skype/ telegram контактом ментора, который он предоставил.

Дашборд "статус по студентам из определенного города"

Фидбек:
"возможность смотреть сколько студентов из их города зарегилось на курс и что дальше с ними происходит - прошел первый стейдж, прошел собес, решает ли таски и тд.
Нам каждый студент важен, хотим его холить и лелеять, приглашать на отдельные ивенты, спрашивать фидбек и т.д."

New students in my group

Привет! Ко мне присоединились два новых студента от других менторов, а именно:
Pavel Leskavets (pavel-leskavets)
Artyom Vecherov (lion9)
Хотелось бы им оценки выставить за предыдущие таски.
Сейчас в app.rs.school их не вижу, по сему хотелось бы видеть их у меня в группе
И еще в моем списке нет Andrej Rozhnov (AcetonKZ), но его я собрался отчислить.

Спасибо!

Возможность отметить, что студент не связался для прохождения интервью

Например тут http://app.rs.school/interview-feedback?course=rs-2019-q1, вместо указания фидбека.
Или идеально было бы если бы система сама нотифицировала ментора, что дедлайн по интервью уже прошел и показывала кнопку указать "студент не вышел на связь для прохождения интервью"

Probably bug in score

Additional context
Add any other context about the problem here.
Обнаружил себя отмеченным серым цветом в скоре, хотя я активен.
Мой гитхаб - yakGjen

looks like that i am not active student.

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Device (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Лишний студент в списке

На странице Submit Score в выпадающем списке Student у меня 2 стуента, Владимир и Роман. Роман был принят на курсы, но через неделю была заполнена форма на отчисление.

Actual result: У меня 2 студента Vladmimir Malygin и Roman Khaliulin
Expected result: Должен видеть только Vladmimir Malygin

Отчисления

Describe the bug
A clear and concise description of what the bug is.
Добрый день. я показываюсь как отчисленый, но меня ментор не отчисляя.
ник Github Hellsingi

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Device (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Не тот ментор по интервью в таблице

Добрый день. У меня есть такая проблема. Я проходил собеседование у ментора, который был мне назначен на момент 31 мая. Однако, как я понимаю, потом менторы были пересортированы и теперь у меня стоит другой ментор, который должен был проводить собес. В результате тот ментор, который на самом деле провел моё собеседование теперь не может засабмитать мой результат. Что в мне в такой ситуации делать?

Выбрасывает из приложения при клике по gitID

Chrome v 74.0.3729.169
MacOS Mojave v 10.14.5
Клик по ссылки в announsments.
Поиск по gitID
Клик на gitID ментора.
Ожидаемый результат: Переход к git или контактам ментора
Фактический результат: перенаправляется на главную страницу

koa-bodyparser

I need to parse multipart/form-data but current bodyparser(koa-bodyparser) can't do that.
koajs/bodyparser#85
I found koa-body. This bodyparser in addition can do it. Maybe we should replace main bodyparser or add additional middleware for parsing form-data?
If you agree, i created PR #8

app.rs.school update - City

On the page with the general score, in addition to the github and the student’s name, add his city as well.
So it will be possible to calculate what is the position of the student in his location.

Ошибочно отчислен

После обновления обнаружил, что пополнил ряд отчисленных, хотя ментор меня к таковым не относил.

image

Несоответствие пар студент-ментор для набора 2018-Q3

По запросу:
http://app.rs.school/api/profile?githubId=mikhama

Вижу что data.students.mentor.user.githubId === 'olgamardvilko'. (Это выражение верно в том случае, если речь идет об интервью на 2-м стэйже). Но ментор должен быть nikitzu.

Скорее всего перепутаны таблица с парами студент-ментор c таблицей для интервью по coreJs.

im active

Course
rs-2019-q1

What is wrong
I am "gray" in the score, but i am active student. I hope I am not expelled, and this is just a mistake. My mentor @Mikhaillu says she didn't do anything.
My GitHub ID is @kedroviy

Submit Video & Presentation: You are not student in rs-2019-q1.

При переходе на страницу добавления презентации, http://app.rs.school/task-artefact?course=rs-2019-q1 на самой странице выдает You are not student in rs-2019-q1;
https://imgur.com/a/59a0qVE
В общем скоре мой ник не горит серым, значит система не считает меня отчисленным
https://imgur.com/a/NXmM5nl
GitHub аккаунт не менял, проверено на нескольких устройствах.

Make many servers when test

Now in our tests in some suites we have something like that:

    beforeEach(async () => {
        app = new App();
        server = app.start();
        await app.connect();
    });
    afterEach(async () => {
        await app.disconnect();
        server.close();
    });

But if we want to run server in other suite we will have error because port is used. Yes, we can run our tests synchronous, but it will be very slow and not every test suite runs server. How we can fix it? Maybe we can change server's start method for something like that?

   public async start(): Promise<Server> {
        if (process.env.NODE_ENV === 'test') {
            this.server = this.koa.listen(await getPort({ port: config.port }));
        } else {
            this.server = this.koa.listen(config.port);
        }
        this.appLogger.info(`Service is running on ${config.port} port`);
        return this.server;
    }

if we try to run our server on predefined port, but this port is being used we will get other free port.
Now we can run our servers async and all will be fine. I can make PR if it is an good idea.
What do you think about that?
Or if we don't want to change backward compatibility we can do something like that.

   public start(port: number = config.port): Server {
        this.server = this.koa.listen(port);
        this.appLogger.info(`Service is running on ${port} port`);
        return this.server;
   }

Таблица для приема оценок от ментора

Нужен эндпоинт POST запрос для сохранения оценки ментором задания

Нужен эндпоинт GET для того, чтобы забрать все данные в json формате

По примеру отсюда https://docs.google.com/spreadsheets/d/1vtp4H8ouHZdAJKBTNAp32-Vasm_vQ9gQsq0EXdnDFho/edit#gid=1066858562

Какие поля нужны

  • time stamp
  • github_mentor
  • github_student
  • course (сейчас хардкодаем 2019q1)
  • task_id (из таблицы заданий, или можно пока строкой? - целостность постараемся потом сделать?)
  • link to PR
  • mark
  • comment

Zero points for all people of 2018-Q3 course

Course
2018-Q3

What is wrong
In the previous versions of RS School App score of 2018-Q3 was correct.

Now it shows people in the incorrect order and shows zero points in total for everyone and for the majority of people zero points for every single task 😿

RS 2019-Q1: Score Data Issues

Issue для трекинга проблем с данными

  • неверный скор
  • нету скора
    т.д.

Указывайте, если возможно, пожалуйста github студента и имя таска

RSSchool 2019Q1 Data issues

Issue для трекинга проблем с данными по набору RSSchool 2019Q1

Например:

  • неверный скор
  • нету скора
  • т.д.

Указывайте, если возможно, пожалуйста github студента и имя таска

Моя строка стала серой, хотя ментор меня не отчислил

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Device (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Коэффициент веса оценки

Нужен чекбокс для тасков, что-то вроде affect total score.
можно true/false, можно коэффициент в диапазоне от 0 до 1

Например, чтобы оценку за Websocket challenge можно было вообще исключить из total score
или учитывать только 10% от этой оценки.

Возможность перераспределения студентов по менторам

Issue на основе сообщения от @cathzetjo

После двухнедельного отсутствия мой ментор Алексей (github=unsafefunction) вышел на связь и сообщил, что у него больше нет возможности вести/собеседовать студентов.

Нужно по возможности кому-то отдать его студентов ( не проверено два последних таска - ютуб и презентация).
Для текущего рандомного собеседования нужно назначить студентам, попавшим к нему, другого ментора.

Бейджи

Бейджи, которые могут выдавать все и всем

  • Congratulations
  • Expert help
  • Great speaker
  • Good Job
  • Helping Hand
  • Hero
  • Thank you

Бейджи, которые могут выдавать менторы и админы

  • The Rolling Scopes School ACTIVIST

Бейджи, которые могут выдавать админы

  • The Rolling Scopes School MENTOR
  • The Rolling Scopes School TRAINER
  • The Rolling Scopes SPEAKER
  • The Rolling Scopes CONTRIBUTOR

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.