Coder Social home page Coder Social logo

academico-sis / academico Goto Github PK

View Code? Open in Web Editor NEW
258.0 19.0 106.0 94.22 MB

Lavarel-based school management platform for small and medium institutions

Home Page: https://academico-sis.github.io/www/

License: MIT License

PHP 51.88% Vue 7.42% HTML 3.75% Blade 10.52% JavaScript 26.43%
school backpack vuejs lms student-information-system laravel looking-for-contributors looking-for-maintainer

academico's Issues

Improve the Attendance features

  • Improve the pending attendance display (teacher dashboard)

  • Avertissement visuel en cas de dépassement des 3 absences (pour l'étudiant, le prof et l'administration)

  • Une fiche de présence avec le détail des séances sera disponible pour le cycle en cours ainsi que pour les cycles précédents

  • permettre de télécharger cette fiche en PDF

  • Amélioration des notifications par mail : envoyer un feedback à l'étudiant à chaque fois avec prof et administration en copie

Attendance improvements

  • gérer les présences lors de l'ajout ou retrait d'un étudiant après le début du cours

Enrollment improvements

  • confirm selected course before enrolling (modal)

  • allow secretary to change the status on an enrollment

if pending
-> allow to switch course

if paid
-> allow to switch course
-> allow to cancel (refund)

When cancelling an enrolment, actually delete it.

Avoid page reloads

Throughout the application, Vue components are making AJAX requests to create, edit or delete entries. However, full reactivity is not yet achieved since a full page reload is performed after making the AJAX call.

Search for location.reload to find related methods.

The goal is to avoid page reloads altogether, and to use the response contents to pull in fresh data instead. It's also possible to use GET routes to retrieve fresh data and populate the vue components.

Photo roaster

Allow students to take picture with webcam
Allow teachers to export a roaster for their class

Invoicing

  • re-enable cart
  • improved invoicing
  • add books to course
  • discounts management
  • Gestion des boursiers (catégorie spéciale de dispense de facture, rapports)

Enrollment process

  • add new saldos status
  • review status changes workflow
  • renvoyer schéma

Better testing

  • unit tests everywhere
  • replace broken feature tests with highest-level browser tests
  • test hours count in HR dashboard
  • Test reports

Fix JS assets

  • load <script src="/js/app.js"></script> GLOBALLY.
    Be aware of possible conflicts with other libraries or scripts on specific pages...

  • Remove fullcalendar from public (clean webpack.mix.js)

  • Use code-splitting to reduce size of JS bundle

  • clean the dependencies (require modules instead of copying files from node_modules)

Cart improvements

  • improve feedback and checks related to the link with Accounting server

This issue is related to #119

Update contact data

  • check phone numbers

  • force data update

  • add new contact, new phone numbers, etc.

Skills module improvements

  • compute a percentage according to the skills evaluation for each student

  • Custom skills ordering

  • Keyboard navigation

  • import export skillsets from file = this allows to have skills for any custom course we may need, but keeping preset files ready for our recursive courses.

Improve course creation process

  • Autocomplete for name, price, hours fields... according to rythm for instance
  • Child course creation should be done at once (checkbox when creating the course)
  • Course edition should be flexible: leave the option to rewrite events when changing the teacher or the room. Same thing when updating the course schedule

Refactor

  • Reduce business logic in the controllers => introduce a new layer of abstraction between controllers and models (Service Layer Pattern) to hold all the business logic, grouped by domain. All the business logic would be encapsulated in specific methods and the controller should only check if the right permission is available for the user, call those methods from the service and compact the data for the view. Services can be injected in controllers using Laravel’s automatic injection, which will easily allow you to mock the services for testing purposes.

  • PROFILE THE NUMBER OF DB QUERIES for each action. Some methods are particularly slow and inefficient, for instance all methods retrieving or counting events with incomplete attendance. See for instance Teacher@events_with_pending_attendance and similar.

  • improve logging

  • clean the dependencies (require modules instead of copying files from node_modules)

  • clean routes

Show feedback when adding a comment

There are several improvements to bring to this operation

  • Give the input focus automatically

  • If the comment is not valid (for instance < 5 characters) a message should be displayed to the user.

  • Flash a notification when the comment has been saved.

Reports improvements

  • Optimize report methods (number of queries)

  • Bug when saving head_count in a course (see model events)

  • Write tests

Improve Attendance UI

  • add number of students with missing attendance in course attendance view (attendance.course)

  • add reactivity to edit a student's attendance record directly from attendance.course instead of attendance.event

Self-maintenance

  • scheduled tasks monitoring (last execution date)

  • setup assistant. Create periods, users...

  • automate users purge (who have never been enrolled)

  • hide older reports

  • retry failed jobs

  • allow to reset client status for all currently enrolled students (move all converted to lead)

Improve leads management

  • add loading indicator on lead status update
  • Make LeadStatus model translatable
  • Auto-disable students who didn't come back for current period

Improve the course action toolbox

  • Move coursetimes to "edit" screen
  • Move evaluation-related buttons to their own screen
  • Move children course to somewhere else (dedicated tab in edit screen?)
  • Move attendance to its own screen

Clients management

  • Follow re-enrollments from previous cycle + status + comment

  • Objectifs de l'étudiant sur sa fiche.

Improve UI of children courses

  • improve messages when creating a new child course : make it clear that the edition page that triggers is for the new course

  • The same issue is true for enrolments, in CRUD list and also in student history

  • Afin d’éviter les fausses manipulations et améliorer la clarté de l’interface, revoir l'ergonomie de la fonction "créer un cours enfant" et améliorer la lisibilité des relations entre cours parents/enfants dans la liste de cours

  • Children should always appear under their parent. Improve clarity in this view (if we are to keep this feature at all). Perhaps rename to sub-courses or sub-blocks

Courses syllabi

  • Objectifs du cours
  • contenus (type syllabus)
  • Export liste de compétences
  • Infos du cours : dates, modalités, etc.

Additional features

  • last login date -> monitor

  • allow parent login ?

  • email when a course result is made available

Leaves management

  • allow to create a leave per period (from ... to ...)
  • review how hours are counted in HR dashboard

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.