Lavarel-based school management platform for small and medium institutions

Overview

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.

If you're using this software, please be get in touch with project maintener to receive security updates and be notified if breaking changes are published. I usually write migrations for the installations I manage, but do not always publish them or write official release notes - but I'll gladly share these with you if you ask. Just send an email to [email protected] to let me know that you start using this application in production and I'll notify you when a non-trivial update is published.

Documentation

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.

The project founder is still actively maintaining the code and fixing bugs on his spare time, however, the project would greatly benefit from new contributors. Contributing to this project 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

💻 📖 🤔 🚧 ⚠️

Marc Marina Miravitlles

💻

Damien Baudet

🚧 💻

Mubarak M Aminu

💻

Ibrahim Abdullahi Aliyu

💻

AleksandarMitevski

⚠️ 💻

Tano Rojas

⚠️ 💻

Nikola Cirkovic

🐛 🚧

quieneslatern

🌍

Vitor Micillo

🚧

Tatiana Goloviznina

💻

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

License

This software is based on Laravel and Backpack for Laravel. You will need to acquire a Backpack license if you decide to use it for commercial use. If you want to use this software for a non-commercial project, you may be eligible for a free license, please visit Backpack for Laravel's pricing page for details. A SaaS solution for this software including the Backpack licence, managed hosting, consulting and extra features development is offered at https://academico.thomasdebay.com

Comments
  • Adding more features for users to select profile pictures.

    Adding more features for users to select profile pictures.

    Hello,

    I was able to find and fix the problems from my last PR. It was some extra code that was added to the public/js/app.js and register.js in the same folder which i don't know how it happened. I also updated the branch to be in sync with the upstream master branch.

    I also changed the error message that gets triggered when a user uploads a picture that exceeds 3MB to say maximum size is 2MB because when converting to base64 the image's file size increases by 4/3, so the file size shouldn't exceed 3MB if a user inputs a 2MB image.

    Best Regards, Aleksandar.

    opened by AleksandarMitevski 16
  • Laravel 9.x Shift

    Laravel 9.x Shift

    This pull request includes the changes for upgrading to Laravel 9.x. Feel free to commit any additional changes to the shift-56609 branch.

    Before merging, you need to:

    • Checkout the shift-56609 branch
    • Review all pull request comments for additional changes
    • Run composer update (if the scripts fail, add --no-scripts)
    • Clear any config, route, or view cache
    • Thoroughly test your application (no tests?, no CI?)

    If you need help with your upgrade, check out the Human Shifts. You may also join the Shifty Coders Slack workspace to level-up your Laravel skills.

    opened by thdebay 14
  • Laravel Linter

    Laravel Linter

    This pull request includes changes and recommendations for crafting your application "The Laravel Way". Feel free to commit any additional changes to the shift-24983 branch.

    Before merging, you need to:

    • Checkout the shift-24983 branch
    • Review all pull request comments for additional changes
    • Thoroughly test your application

    If you need help with your upgrade, check out the Human Shifts. You may also join the Shifty Coders Slack workspace to level-up your Laravel skills.

    opened by thdebay 14
  • Laravel Linter

    Laravel Linter

    This pull request includes changes and recommendations for crafting your application "The Laravel Way". Feel free to commit any additional changes to the shift-56612 branch.

    Before merging, you need to:

    • Checkout the shift-56612 branch
    • Review all pull request comments for additional changes
    • Thoroughly test your application

    If you need help with your upgrade, check out the Human Shifts. You may also join the Shifty Coders Slack workspace to level-up your Laravel skills.

    opened by thdebay 12
  • Laravel 7.x Shift

    Laravel 7.x Shift

    This pull request includes the changes for upgrading to Laravel 7.x. Feel free to commit any additional changes to the shift-28115 branch.

    Before merging, you need to:

    • Checkout the shift-28115 branch
    • Review all pull request comments for additional changes
    • Update your dependencies for Laravel 7
    • Run composer update (if the scripts fail, add --no-scripts)
    • Thoroughly test your application (no tests?)

    If you need help with your upgrade, check out the Human Shifts. You may also join the Shifty Coders Slack workspace to level-up your Laravel skills.

    opened by thdebay 11
  • Laravel Linter

    Laravel Linter

    This pull request includes changes and recommendations for crafting your application "The Laravel Way". Feel free to commit any additional changes to the shift-24996 branch.

    Before merging, you need to:

    • Checkout the shift-24996 branch
    • Review all pull request comments for additional changes
    • Thoroughly test your application

    If you need help with your upgrade, check out the Human Shifts. You may also join the Shifty Coders Slack workspace to level-up your Laravel skills.

    opened by thdebay 11
  • Allow to delete a contact from Student Details

    Allow to delete a contact from Student Details

    It is already possible to add (link) a new contact to a student. The contact is recorded in the contacts table in the database. If the student has any contacts, they will display as tabs on the student details view. For instance, this student has one additional contact.

    While it is possible to create new contacts, it should also be possible to delete them or at least to remove (detach) them from the student. Currently the trash button (see screenshot) doesn't do anything. It should perform an AJAX request to delete the contact.

    enhancement good-first-issue SHOULD up-for-grabs 
    opened by thdebay 10
  • 274 convert hourly price to cents

    274 convert hourly price to cents

    Hi,

    I have converted price into cents in the same manner as the other price references, however I have a concern I would like to clarify before merging:

    • if implemented, this will not function well with existing records, only new ones
    • would it be required to convert existing records in the database or...
    • rather use an if check against records created_at determining whether to convert output or not?

    If you can let me know the preferred procedure I will be very happy to implement.

    Closes #274

    Thanks

    Sam

    opened by MizouziE 9
  • Tests Generator

    Tests Generator

    This pull request includes foundational components for testing your application by generating model factories, HTTP tests, unit tests, and test case stubs for common code paths.

    Before merging, you need to:

    • Checkout the shift-28281 branch
    • Review all pull request comments for additional changes
    • Run composer update
    • Run vendor/bin/phpunit
    • Review the incomplete tests
    opened by thdebay 9
  • Add more features to manage student profile pictures

    Add more features to manage student profile pictures

    Currently, students may upload a picture to their profile. It would be great to allow them to take picture with webcam during the account creation process.

    Also, teachers should be able to see a photo roaster for their classes. Currently, the only place the student pictures are displayed is in the student "show" view.

    enhancement good-first-issue COULD up-for-grabs 
    opened by thdebay 7
  • Laravel Fixer

    Laravel Fixer

    This pull request includes changes and recommendations for crafting your Laravel application. These are based on the Laravel documentation and widely adopted practices within the community.

    Before merging, you need to:

    • Checkout the shift-24998 branch
    • Review all comments for additional changes
    • Thoroughly test your application

    Don't hesitate to send your feedback to [email protected] or share on Twitter.

    opened by thdebay 6
  • Bump decode-uri-component from 0.2.0 to 0.2.2

    Bump decode-uri-component from 0.2.0 to 0.2.2

    Bumps decode-uri-component from 0.2.0 to 0.2.2.

    Release notes

    Sourced from decode-uri-component's releases.

    v0.2.2

    • Prevent overwriting previously decoded tokens 980e0bf

    https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.1...v0.2.2

    v0.2.1

    • Switch to GitHub workflows 76abc93
    • Fix issue where decode throws - fixes #6 746ca5d
    • Update license (#1) 486d7e2
    • Tidelift tasks a650457
    • Meta tweaks 66e1c28

    https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.1

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies javascript 
    opened by dependabot[bot] 0
  • Add stats for students' ages

    Add stats for students' ages

    Display the number of students in each age category:

    • 0-6 years old -7-12 years old
    • 8-14 years old
    • 15-20 years old
    • 21 years old and +

    Ideally, make these categories configurable (in a config file or DB entry in the Config table).

    good-first-issue up-for-grabs 
    opened by thdebay 3
  • Add emailing features

    Add emailing features

    • [ ] Allow to send a custom email to all students in a course
    • [ ] Allow to send a custom email to "members"
    • [x] Allow to send a custom email to a specific student and/or their registered contacts
    good-first-issue 
    opened by thdebay 11
  • Delete events when a holiday / leave is created

    Delete events when a holiday / leave is created

    When a new teacher leave is added, the user should be asked how to handle the events - delete them? Remove the teacher and leave the events as "unassigned" ?

    opened by thdebay 0
Releases(2.2)
  • 2.2(May 25, 2021)

    More features have been merged from other branches. This release contains some breaking changes. Current known users of this software and paying SaaS users will be provided with a full migration to the new version.

    If you're using this software and hosting it on your own, and wish to migrate to the latest version, please get in touch and the migration notes will be shared with you.

    This is RC2 version. The development process is still very active and each release needs a manual, thorough upgrade from the previous version.

    A RC3 is scheduled in the upcoming weeks - again with some potentially breaking changes, to finalize the refactoring operations undertaken on the application structure.

    After RC3, a stable version will be published and breaking changes will be avoided.

    Source code(tar.gz)
    Source code(zip)
  • 2.1(Mar 1, 2021)

    Work from other branches has been merged into master. This introduces many breaking changes, especially in the DB structure.

    The production branches of this application were, until now, stored in separate repositories.

    The goal is to avoid forking the repository when customizing the application for a specific institution. Instead, we'll try to keep one codebase and allow specific overrides (features enable/disable, services binding, custom views...) through the .env file

    This will allow to keep a production-ready application into the master branch of this repository at all times.

    Current known users of this software (paying saas users) will be provided with a full migration to the new version.

    If you're using this software and hosting it on your own, and wish to migrate to the latest version, please get in touch and the migration notes will be shared with you.

    Some more minor features need to be merged from other branches, and some parts of the codebase still need to be hardened, tested and refactored before a "production" release can be out soon.

    Source code(tar.gz)
    Source code(zip)
  • 1.1(May 22, 2020)

Owner
Academico
Lavarel-based student information system and school management platform for small and medium institutions
Academico
A school management Software

Version 2.X is here!! For Version 1.X, view releases. School Management and Accounting Software Join Discord Server We like to challenge the quality o

Hasib Mahmud 2.5k Jan 9, 2023
Polonium is a world class old school ✍️ blog website made with Php and Tailwind 🌀

Polonium Polonium is a world class old school ✍️ blog website made with Php and Tailwind ?? to write dump articles about... Yeah I know, you should pr

Youness Idbakkasse 2 Jan 10, 2022
School stuff, nothing to see here

Come importare/aggiornare i dati su altervista Scaricare la repo (Code > Download as ZIP) Estrai lo zip In database_backup tasto destro su dantoniog.s

Kryotek 3 Dec 18, 2021
This is a plugin written in PHP programming language and running on the PocketMine platform that works stably on the API 3.25.0 platform

This is a plugin written in PHP programming language and running on the PocketMine platform that works stably on the API 3.25.0 platform. It allows you to hear the sound

Thành Nhân 10 Sep 27, 2022
Simple Symfony API-Platform Template which you can use to start to develop with symfony and api-platform

symfony-api-platform-skeleton Simple Template for Symfony API You can fork it and change the git remote to your Repo git remote set-url <your-git-remo

null 1 Jan 23, 2022
Small convention based CQRS library for PHP

LiteCQRS for PHP Small naming-convention based CQRS library for PHP (loosely based on LiteCQRS for C#) that relies on the MessageBus, Command, EventSo

Benjamin Eberlei 560 Nov 20, 2022
Small library providing some functional programming tools for PHP, based on Rambda

Functional library for PHP. Features: set of useful functions helpful in functional programming all functions are automatically curried every array ca

Wojciech Nawalaniec 5 Jun 16, 2022
JsonCollectionParser - Event-based parser for large JSON collections (consumes small amount of memory)

Event-based parser for large JSON collections (consumes small amount of memory). Built on top of JSON Streaming Parser This packa

Max Grigorian 113 Dec 6, 2022
A small library for validating International Bankaccount Numbers (IBANs) based on the IBAN Registry provided by SWIFT

A small library for validating International Bankaccount Numbers (IBANs) based on the IBAN Registry provided by SWIFT

Jan Schädlich 69 Dec 18, 2022
Nuber is an open source container management platform it provides a front end to manage your own cloud infrastructure, using Linux Containers virtualization technology

Nuber is an open source container management platform it provides a front end to manage your own cloud infrastructure, using Linux Containers virtualization technology

null 33 Dec 14, 2022
Open Source Data & Experience Management Platform (PIM, MDM, CDP, DAM, DXP/CMS & Digital Commerce)

Pimcore - Open Source Data & Experience Management Platform: PIM, MDM, CDP, DAM, DXP/CMS & Digital Commerce

Pimcore 2.7k Jan 4, 2023
Tars is a high-performance RPC framework based on name service and Tars protocol, also integrated administration platform, and implemented hosting-service via flexible schedule.

TARS - A Linux Foundation Project TARS Foundation Official Website TARS Project Official Website WeChat Group: TARS01 WeChat Offical Account: TarsClou

THE TARS FOUNDATION PROJECTS 9.6k Jan 1, 2023
Easy management of Virtualization technologies including KVM, Xen, OpenVZ, Virtuozzo, and LXC/LXD including unified commands, monitoring, template management, and many more features.

ProVirted About Easy management of Virtualization technologies including KVM, Xen, OpenVZ, Virtuozzo, and LXC/LXD including unified commands, monitori

null 2 Aug 22, 2022
A @laravel based RAD platform for back-office applications, admin/user panels, and dashboards.

For the full documentation, visit orchid.software. Introduction Orchid is a free Laravel package that abstracts standard business logic and allows cod

Laravel Orchid 3.4k Jan 7, 2023
Silverstripe-sspy - Python based SSPAK export with higher reliability and cross-platform compatibility

SSPY - Python Stand-alone SSPAK solution © Simon Firesphere Erkelens; Moss Mossman Cantwell Usage: sspy [create|load|extract] (db|assets) --file=my.

Simon Erkelens 1 Jun 29, 2021
Small utility library that handles metadata minification and expansion.

composer/metadata-minifier Small utility library that handles metadata minification and expansion.

Composer 134 Dec 26, 2022
A small, modern, PSR-7 compatible PSR-17 and PSR-18 network library for PHP, inspired by Go's net package.

Net A small, modern, PSR-7 compatible PSR-17 and PSR-18 network library for PHP, inspired by Go's net package. Features: No hard dependencies; Favours

Minibase 16 Jun 7, 2022
A small, modern, PSR-7 compatible PSR-17 and PSR-18 network library for PHP, inspired by Go's net package.

Net A small, modern, PSR-7 compatible PSR-17 and PSR-18 network library for PHP, inspired by Go's net package. Features: No hard dependencies; Favours

Minibase 16 Jun 7, 2022
A small library to help run PHP servers easily and quickly.

PHP Server A small library to help run PHP servers easily and quickly. Installation composer require ahmard/php-server Usage PHP Built-In Server An i

Ahmad Mustapha 9 Dec 31, 2022