- If your code uses
func.c
:
gcc your-code-name.c func.c -o main -lcrypto -lsqlite3
- If your code DONT uses
func.c
:
gcc your-code-name.c -o main -lcrypto -lsqlite3
Replace your-code-name.c
with code that you want to compile.
Note
- You need,
openssl
library andsqlite3
library. - If you still having trouble, you can open a codespace for the repo by
Code -> Codespaces -> Create codespace on main
resources/testDB.c
is for understand how the function sql works, with examples.resources/testMen.c
is for understand how the menu navigation works, with examples- Default username and the password is
admin
- If you want to add test file but do not want to uplaod to the GitHub, just add your file name to
.gitignore
file.
Important
THE FOLLOWING BINARIES AND SOURCE CODES ARE AVAILABLE IN THE resources
FOLDER
- Repo included empty DB, but if you wished to create a DB, You can do that by running,
- If you are in linux
./RUNTHIS
- If you are in windows
RUNTHIS.exe
MONTHUPDATE
is for update the thePayments
table for every month.DAYUPDATE
is for update theAttendance
table for every day.- But if you wished to add sample data to work, use
ADDSAMPLEDATA
in root dir to add sample data.
- Windows
main
- Linux
./main
- LOGIN
- Manage Students
- Add Student
- Update Student
- Delete Student
- Manage Tutotrs
- Add Tutor
- Update Tutor
- Delete Tutor
- Manage Classes
- Add Class
- Update Class
- Delete Class
- Browse Students
- Class List
- Display All Students
- Class List
- Search Student (by ID)
- Display Details
- Fee Manage
- Collect Fee (by ID)
- Due Fee
- Attendance
- Mark Attendance
- Check Attendance
- Status (basic summary)
- Manage Students
func.c
holds all major functions; if you add a new function, don't forget to add a function prototype to the func.h
file as well.
In main.c
we just use basic logic to call the functions so it doesn't get too crowded. And by doing that main.c
will be much easier to read and understand the basic logic structure behind it.
Note
If you see any bugs or things that might be improved, please open an issue.
This repository contains the SQL table structure for a Tution Class Management System. The database consists of six tables: Students
, Tutors
, Classes
, Enrollments
, Payments
, and Attendance
.
The Students
table stores information about the students.
Column Name | Data Type | Constraint |
---|---|---|
StudentID | INT | PRIMARY KEY |
FirstName | TEXT | NOT NULL |
LastName | TEXT | NOT NULL |
DateOfBirth | TEXT | |
ContactNumber | TEXT | |
TEXT |
The Tutors
table stores information about the tutors.
Column Name | Data Type | Constraint |
---|---|---|
TutorID | INT | PRIMARY KEY |
FirstName | TEXT | NOT NULL |
LastName | TEXT | NOT NULL |
SubjectSpecialization | TEXT | |
ContactNumber | TEXT | |
TEXT |
The Classes
table stores information about the classes.
Column Name | Data Type | Constraint |
---|---|---|
ClassID | INT | PRIMARY KEY |
ClassName | TEXT | NOT NULL |
TutorID | INT | FOREIGN KEY REFERENCES Tutors(TutorID) |
ClassTime | TEXT | |
ClassDays | TEXT |
The Enrollments
table stores information about the enrollments.
Column Name | Data Type | Constraint |
---|---|---|
EnrollmentID | INT | PRIMARY KEY |
StudentID | INT | FOREIGN KEY REFERENCES Students(StudentID) |
ClassID | INT | FOREIGN KEY REFERENCES Classes(ClassID) |
EnrollmentDate | TEXT |
The Payments
table stores information about the payments.
Column Name | Data Type | Constraint |
---|---|---|
PaymentID | INT | PRIMARY KEY |
StudentID | INT | FOREIGN KEY REFERENCES Students(StudentID) |
Paid | INT | |
PaymentDate | TEXT | |
DueDate | TEXT |
The Attendance
table stores information about the attendance.
Column Name | Data Type | Constraint |
---|---|---|
AttendanceID | INT | PRIMARY KEY |
EnrollmentID | INT | FOREIGN KEY REFERENCES Enrollments(EnrollmentID) |
AttendanceDate | TEXT | |
IsPresent | INT |
The TCM System is open source and licensed under the MIT License. Fork, remix, and make it your own! Pull requests and other contributions greatly appreciated.