Coder Social home page Coder Social logo

academico-sis / academico Goto Github PK

View Code? Open in Web Editor NEW
255.0 19.0 106.0 94.14 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 Introduction

About this project

All Contributors

Scrutinizer Code Quality

PHPUnit

Academico is an open-source, Lavarel-based school management platform. Its main features include course management, enrolments management, resources scheduling, reports and stats. It is primarily targeted at small and medium-sized institutions who need a simple and affordable solution to manage their school and courses.

Documentation

Maintainers wanted!

This project does not get as much of my attention as it deserves. The "pro" version is used by several institutions but the "oss" version (that does not require a paid Backpack for Laravel licence) does not receive many updates anymore. I would be happy to put a link here to an active fork of this project, if you want to take over the free/oss version. Please open an issue if you're interested to discuss it!

Contributors welcome! ✨

This project was initially developed to address the needs of one specific school, however, the project is now published as open-source with the hope that others might use it. Developing and maintaining a new application takes a lot of time and effort, and everyone wins by using and improving already existing software instead of starting from scratch every time.

There are many areas of this project that would greatly benefit from new contributions. It is also a great way to train your developer skills. Some issues are available to beginners. Please see this page on the wiki for details.

Thanks goes to these wonderful people (emoji key):

Thomas Debay
Thomas Debay

💻 📖 🤔 🚧 ⚠️
Marc Marina Miravitlles
Marc Marina Miravitlles

💻
Damien Baudet
Damien Baudet

🚧 💻
Mubarak M Aminu
Mubarak M Aminu

💻
Ibrahim Abdullahi Aliyu
Ibrahim Abdullahi Aliyu

💻
AleksandarMitevski
AleksandarMitevski

⚠️ 💻
Tano Rojas
Tano Rojas

⚠️ 💻
Nikola Cirkovic
Nikola Cirkovic

🐛 🚧
quieneslatern
quieneslatern

🌍
Vitor Micillo
Vitor Micillo

🚧
Tatiana Goloviznina
Tatiana Goloviznina

💻
Rm Yakovenko
Rm Yakovenko

💻
Sam
Sam

💻 📖
Wynton Franklin
Wynton Franklin

💻
Collins Kiplangat Rono
Collins Kiplangat Rono

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

License

This software is based on Laravel and Backpack for Laravel. The OSS branch (default) is free for everyone to use, with limited features. The "pro" branch requires a Backpack license and adds features such as filters, exports, more advanced CRUD forms, etc.

academico's People

Contributors

aleksandarmitevski avatar allcontributors[bot] avatar aybee5 avatar bjh81782 avatar cirkan avatar clarg18 avatar damienbaudet avatar dependabot[bot] avatar dummdevka avatar eltociear avatar kaloneh avatar marcmarina avatar mizouzie avatar mubarak23 avatar quieneslatern avatar rm-yakovenko avatar rono516 avatar thdebay avatar vitormicillo avatar wyntonfranklin 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

academico's Issues

Enrollment process

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

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

Reports improvements

  • Optimize report methods (number of queries)

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

  • Write tests

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.

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 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

Leaves management

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

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)

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)

Additional features

  • last login date -> monitor

  • allow parent login ?

  • email when a course result is made available

Better testing

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

Cart improvements

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

This issue is related to #119

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.

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

Attendance improvements

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

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

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

Invoicing

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

Update contact data

  • check phone numbers

  • force data update

  • add new contact, new phone numbers, etc.

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

Courses syllabi

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

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

Photo roaster

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

Clients management

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

  • Objectifs de l'étudiant sur sa fiche.

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.

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.