For Version 1.X, view [releases](https://github.com/changeweb/Unifiedtransform/releases). Continuation of Version 1.X support in **[v1-x-branch](https://github.com/changeweb/Unifiedtransform/tree/v1-x-branch)** branch.
School Management and Accounting Software
We like to challenge the quality of what we build to make it better. To do so, we try to make the product intuitive, beautiful, and user friendly. Innovation and hard work help to fulfill these requirements. I believe in order to innovate we need to think differently. A few months ago I discovered there was no open source free school management software that met my quality standards. I happen to know a bit of programming so I decided to make one. I also believe that working with more people can push the standard higher than working alone. So I decided to make it open source and free.
See the news here
- PHP >= 7.4
- OpenSSL PHP Extension
- PDO PHP Extension
- Mbstring PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
-
We want testable softwares. Most parts of the software in the previous version 1.x were covered by tests. Lets cover version 2.x as well. You also can contribute by writing test case!
-
To run Feature and Unit Tests run following commands:
$ docker exec -it app sh // Inside container shell :/# php artisan test
GNU General Public License v3.0
Unifiedtransform is 100% open source and free forever!!
Community contribution can make this product better!!
When you contribute to a Github project you agree with this terms of Github Terms of Service(Contributions Under Repository License).
Since this project is under GNU General Public License v3.0, according to Github's Terms of Service all your contributions are also under the same license terms. Thus you permit the user of this software to use your contribution under the terms of GNU General Public License v3.0.
v2.X is built from scratch. Both UI and internal workflow of the application are changed to a better design.
Following features that exist in v1.X will be added in v2.X as well in future.
- Stripe payment
- Messaging
- Managing library
- Managing Income and Expenses
- Mass student and teachers export and import.
- Printing reports
- Managing certificates.
- Supported other languages (Spanish, ...).
ut-installation-2023-04-11_22.23.11.mp4
Docker is now supported and improved.
How To Set Up Laravel, Nginx, and MySQL With Docker Compose on Ubuntu 20.04
With the improved Docker setup, you will get:
- Nginx
- PHP 7.4
- MySQL 5.7
-
Clone or download the repository.
-
Create purify folder in
storage/app/
directory. -
Run
cp .env.example .env
. -
Run
docker-compose up -d
. -
Run
docker exec -it db sh
. Inside the shell, run::/# mysql -u root -p
Mysql Root password:
your_mysql_root_password
in thedocker-compose.yml
file. Then run following commands:mysql> SHOW DATABASES; mysql> GRANT ALL ON unifiedtransform.* TO 'unifiedtransform'@'%' IDENTIFIED BY 'secret'; mysql> FLUSH PRIVILEGES; mysql> EXIT;
-
Finally, exit the container by running
exit
in the container shell. -
Run
docker exec -it app sh
. Inside the shell, run following commands::/# composer install :/# php artisan key:generate :/# php artisan config:cache :/# php artisan migrate:fresh --seed
Then exit from the container.
-
Visit http://localhost:8080. Admin login credentials:
- Email: [email protected]
- Password: password
Please carefully follow the steps to setup the school.
Role: Admin
School Dashboard
After logging in for the first time, you will see following message at the top nav bar.
To create a new session, go to Academic Settings page.
Successful creation of session using following form will display success message:
Now create a semester. A semester duration usually is 3 - 6 months.
Now create classes. Give common names such as: Class 1 or Class 11 (Science).
Now create sections for each classes. Give section's name (e.g.: Section A, Section B), room number and assign them to respective class.
Now create courses and assign them to respective semester and class.
Attendance can be maintained in two ways: 1. By section, 2. By course. Stick to one type for a semester. Default: By section.
Now add teachers.
Now assign teachers to semester, class, section, and course.
Now add students and assign them to class, and section.
Now browse to View Teachers and View Students pages.
Now browse to Profile from student and teacher list.
Now go to Classes. Here you can view all classes and their respective sections, syllabi, and courses. Classes, sections, and courses can be edited from here.
Now create grading system for each class and a semester.
Now browse to created Grading Systems.
Now add rules to the grading system and browse them.
Admin can add notice. Right now, notices can be written using a rich text editor.
Events can be created inside a calendar. Click and drag on a date or time period to prompt the input box. An already created event can be deleted by clicking on the event.
Routines can be created for each class and section.
Syllabus for each class and course can be added. Admin can view them from Classes page. Syllabus can be downloaded.
You can browse previous sessions like a snapshot. This mode is Read only. Nobody should be able to change the previous sessions' data.
Submitting final marks of a semester should be controlled. By enabling this feature, it is possible to open a Mark Submission Window for a short time period. Default: Disallowed.
Students can only be promoted to a new class and section when a new Session along with its classes and sections are created.
Role: Teacher
Teacher's dashboard
Teachers can manage their assigned courses from this page. From this page, teacher can do following:
- Take and view attendance
- View Syllabus
- Create and view Assignment
- Give Marks
- Message Students (Available in v1.X. Will be added in v2.X as well).
Teacher can take attendance for a section or a course (attendance type set by Admin).
Teacher can view attendance.
Teacher can view and download syllabus.
Teacher can create assignment for an assigned course by uploading files.
Teacher can view and download created assignments.
Before giving marks, teacher needs to create exams and set their rules. Don't have to create all the exams at a time. (Admin can also create exams on behalf of teachers).
Teacher can view their created exams.
Teacher can add, edit, and view exam rules.
Teacher can give marks after creating exams. Clicking on the exam names will lead to associated exam rules.
When the Grade submission window is open, teacher can submit final marks. Calculated marks will be generated based on all exams' marks. Final marks should be in between the marks set in the grade rules.
If final marks is submitted, a message will be shown in place of submit button in Give Marks page.
Teachers can view final results and calculated grades for a semester, class, section, and course based on their created grade rules.
Role: Student
Student dashboard
A student can view his/her attendance.
A student can view his/her courses that are assigned in his/her class. From here, a student can do following:
- View Marks
- View Syllabus
- View Assignments
A student can view marks, final results and grade for a course.
Students can view and download syllabi of their courses just like their teachers.
Students can view and download assignments of their courses just like their teachers.
Students can view their class and section routine just like their admin/teachers.