EP is a Django-SQL based webapp that aims at enabling users to utilize the printing facilities of the institution more effectively. The Portal features options to upload files, check print status and view/pay e-bills on the fly through the intranet.
- Anudeep Tubati [170010039@iitdh.ac.in]
- S V Praveen [170010025@iitdh.ac.in]
- Login ➤ Upload ➤ Confirm ➤ Collect
- Automated server-side printing
- Email verification for institution
- Easily configurable through intranet
- Simple, Responsive and mobile friendly UI
All the features of code can be found in detail in codestructure.md
Apache server is used to serve media files to the Admin page.
Django server must be setup on a linux-based system and connected to the printer server.
- Clone this repository:
git clone https://github.com/svp19/EPrint
cd
intoEPrint/PrinterFac
:cd EPrint/PrinterFac
.- Install pyenv.
- Install pyenv-virtualenv.
- Install Python 3.6.4:
pyenv install 3.6.4
. - Create a new virtualenv called
easyprintvenv
:pyenv virtualenv 3.6.4 easyprintvenv
. - Set the local virtualenv to
easyprintvenv
:pyenv local easyprintvenv
. - Reload the
pyenv
environment:pyenv rehash
. - As it is better to use environment variables for all the passwords and keys, configure your environment variables (like this) appropriately to match those in
settings.py
If all went well then your command line prompt should now start with (easyprintvenv)
.
- Install the required python libraries:
pip install -r requirements.txt
On the first run, create a superuser to have unrestricted access to any page by the command python manage.py createsuperuser
- Install LAMP.
- Copy the contents of Apache Server directory into your localhost folder.
- Give
www-data
permission to read, write, execute the media file:sudo chown -R www-data media
If your printer is wired to the server or if it is connected through direct WiFi
- Get the
ipp:
of your printer usinglpinfo -v
- Create a new printer class called
myprinter
using thelpadmin
command-line utility for your online printer. - Set it to default.
Example :
lpadmin -p myprinter -E -v ipp://myprinter.local/ipp/print
If your printer is on wirelessly connected to the server
- Get the IP of your printer and add it to the printers in Linux settings.
- Set it to default.
- In
PrinterFac
directory, go tosettings.py
and change theAPI_KEY
to your razorpay_api_key andAPI_PASS
to your razorpay_api_pass.
- Only sqlite3 has been used in this program.
- To deploy using PostgreSQL, please refer to this link. Note that all changes will be made in
PrinterFac/settings.py
only.
-
Integrate RazorPay payments - Add support for PostScript files
- Resolve print status automatically