Python built Software that generates a Report Card for a student in either pdf or docx or both formats.
The project is created using :
- Python 3.9.1
- tkinter (for GUI Interface)
Clone the repo on local machine:
$ git clone https://github.com/BasuDevTyagi10/SchoolReportCardGenerator.git
$ cd "SchoolReportCardGenerator"
It is better to use Anaconda Navigator (Anaconda Documentation - Installation) for handling such (and further mentioned) tasks of creating virtual environments, installing packages, IDEs, Applications, etc.
For performing the mentioned operations manually (without Anaconda) :
Install virtualenv
module to create isolated virtual environments.
$ pip install virtualenv
To create a Virtual Environment for Python 2.x do the following
$ virtualenv myenv
For a Python 3 virtual environment type –
$ python3 -m venv myenv
To activate the virtual environment -
On Windows, run:
$ myenv\Scripts\activate.bat
The required packages for this project are listed below to run the python scripts:
tkinter
, pandas
, docx-mailmerge
, docx2pdf
and sqlite3
Install the above mentioned packages in your virtual environment using Anaconda, and without it by:
run the below command after you're in your virtual environment
(myenv)$ pip install tkinter docx-mailmerge docx2pdf sqlite3
(make sure youre in the home directory) run the following command -
(myenv)$ python main.py
MAIN SCRIPT: main.py
SCRIPTS FOR CODE DISTRIBUTION: res.py
(for common resources), dashboard.py
(for dashboard UI and functionality), login.py
(for login UI and functionality), frontend.py
(for main UI), backend.py
(for main UI's backend to add, edit, delete and update data) and reportcard.py
(for reportcard generation in pdf and docx format).
DATABASE FILE: database.db
ADDITIONAL FILES:
ReportCard Template - template.docx
Image Resources - in /res
directory
Login Credentials and Passwords:
Username: master
Password: admin
Password for editing template.docx: masteruser
The following documentations were refered to create this project :
- Basudev Tyagi - Initial work - BasuDevTyagi10