Code Monkey home page Code Monkey logo

istudent's Introduction

Welcome friends to my humble Github profile 👋, I am Bogdan Mariesan

A Senior Java Software Developer and Software Architect with over 11 years of experience, including 4+ years of team leading.

I'm really passionate about event driven architecture, IoT and Kubernetes so if you want to stay in contact, feel free to connect on Linkedin


🧰 Tech I love working with

Java Spring AWS Kubernetes Kotlin Go JavaScript NodeJS MongoDB PostgreSQL Git Gradle


📘 Latest Blog Articles

Soon...

...more blog articles


📺 Latest YouTube Videos

...more YouTube videos


📈 My GitHub Stats

Top Langs

Bogdan's GitHub stats

istudent's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

istudent's Issues

Analytics and Reporting - Generating reports

  • Multiple statistics metrics can be selected to generate reports
  • Reports should be in multiple formats JSON, HTML, PDF
  • Reports present one or more sets of statistical results
  • Reports should only be available to Teachers

Course subscription

  • Students should have a list of available courses
  • Students can subscribe to available courses
  • Students can see the history of courses they’ve attended
  • Students can see their course progress based on assignments, exams, received grades
  • Students should be able to subscribe to courses (from none to unlimited)
  • Teachers should set a limit of students per course, once the limit is reached course subscriptions are disabled

[reserved] College enrollment CRUD

Create submodule in iStudent repo with basic mechanism for College Enrollment
Requirements:

  • College Sections CRUD:
    -- Ability to create, read, update, delete a college section (eg: mathematics, computer science, biology, law) with the following fields (name, number of years, max number of students per year)
    -- Ability to create, read, update, delete a college applicant (with lastname, firstname, age and grade of enrollment)
    -- Ability to enlist a college applicant to multiple college sections (with order of preference)
    -- Ability see at any given time which college section has which students

  • The students are admitted to a college section based on their grades (descending order)

  • If a student does not have a grade good enough for his first college section pick, the application will attempt to add him to his second college section pick (and so on, until he is enrolled to a college section or until he is not enrolled into anything)

Assignments & Exams - Grading

  • Each course should have grading criteria defined (final grade formula e.g. only final exam, final exam * 0.75 + partial exam * 0.25, final exam * 0.5 + 2 partial exams etc.)
  • Grading criteria should always total 100 points
  • Exams that are multiple choice and single selection (so no free text) should be grade automatically
  • Assignments can be graded but their score shouldn’t always matter to the final grade (see the issue describing assignments)
  • After all grading criteria have been met the grade should be stored in the grading book automatically and rounded with 2 decimals
  • Both students and teachers can access the grade book
  • Grade books should be archived and hidden from the student’s after a certain period of time, teachers can see the archive at any time

Assignments & Exams - Exam design and taking exams

  • Teachers should have the possibility to design multiple choice, single selection, free text
  • Exams can be of 2 types - mid term exams (progress in the course and we can have 0 or more than one per course week) or final exams (final exams have a greater weight to the final grade)
  • A teacher should be able to add tips & tricks for the student on how to approach and solve the exam
  • Exam should be scheduled and exam submission should be restricted outside scheduled hours
  • Both students and teachers should be able to submit feedback to exams
  • Each exam answer should have assigned points that will be used by grading

University Blog - iStudent blog

  • Admins or teachers should be able to post news announcing courses, interesting topics etc.
  • Students should be able to rate news
  • The blog should be accessible to all users and is not related to the course news channel

User management - Login & Registration

  • All users should be able to login with username and password
  • All users should be able to login with email and password
  • Initial Teacher login should be done with an authentication token
  • Students should be able to register an account without restriction
  • Registration process should gather student information such as: user address(country, city etc.), phone number, age, gender,
  • Teachers should receive invitation tokens via email.
  • Invitation tokens can be sent by Admins only

Analytics and Reporting - Assignment related analytics

  • Statistics based on number of assignments completed by students for each course
  • Statistics based on number of assignments that have feedback from teachers
  • Statistics based on number of assignments that have feedback from students
  • Statistics based on number of assignments that have more than 255 characters submitted in a text type sumbission
  • Statistics based on number of assignments that have files attached

Analytics and Reporting - Course related analytics

  • Statistics based on number of students that graduated the course compared to total number of students
  • Statistics based on graduation of students broken down to student country of residence
  • Statistics based on age groups and graduation (18-29, 30-39,40-60, 60+)
  • Statistics based on graduation and gender

University Blog - Reactions

  • Statistics based on course news channel ratings to determine if certain news are valuable
    • Ratings based on country
    • Ratings based on gender
    • Ratings based on age group
  • Sentiment analysis - starting with a given english dictionary with positive and negative words with given weight try to detect if comments in the course news channel are positive or note
  • Statistics based on iStudent blog ratings
    • Ratings based on country
    • Ratings based on gender
    • Ratings based on age group

Assignments and Exams - Course design

  • Teachers should be able to add course materials (free text, files)
  • Teachers should be able to add assignments to courses
  • Teachers should be able to add mid term exams and final exams to courses
  • Teachers should be able to publish courses
  • Courses shouldn't be publishable until they have at least one final examen and course materials
  • Courses should have a number of course weeks, minimum 6 each with individual course materials
  • All course weeks should have course materials and lectures assigned to them

Notifications

  • Email notifications if new courses have been added
  • Push notifications if new courses have been added
  • SMS notifications if new courses have been added
  • Students can select what type of notifications they want to receive
  • Only one notification type should be active per student
  • Each event that triggers notifications should send notifications based on student preferences
    • E.g. if students are subscribed to a course and new assignments are added they should receive a notification

Analytics and Reporting - Exams related analytics

  • Statistics based on average grades achieved by students that completed the course
  • Statistics based on age groups and grades
  • Statistics based on grades and gender
  • Statistics based on country of residence and grades

University Blog - Course News channel

  • Teachers should able to post news specific to each course (assignment updates, tips and tricks, course updates etc.)
  • Students should be able to comment and rate news (ratings from 1 to 5)
  • Students should subscribe to a news channel to receive notifications

[reserved] Library CRUD

Create backend submodule for online library books management

  • NoSQL representation of user-book relationship
  • Create basic JSON diagram of nosql representation with basic representation of book
  • Assume relevant fields, using current task description
  • Create new book
  • Borrow book
  • Return book
  • Delete book
  • Update state of book
  • Check how many issues are available for a certain book and if a student/professor can borrow a book
  • Optional: daily check if borrowed book has been borrowed for more than 2 weeks

Assignments & Exams - Assignment design and completing assignments

  • Assignments should contain free text and/or multiple choice, and should also support file attachments (adding pdfs, images or other documents) e.g. surveys or asking students to submit essays.
  • A student shouldn’t have more than a maximum of one assignment per course week
  • Both the teacher and the student should be able to add feedback to the assignment (different feedback sections for each)
  • A teacher should be able to add tips & tricks for the student on how to approach and solve the assignment
  • Assignments should have points that will be used by grading but teacher should mark an assignment as compulsory or optional (if an assignment has points it should be marked as compulsory)

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.