Throughout a person's career, whenever he/she joins (or even applies to) a new Institute or Company, they have to go through the process of Document Verification. This is a cumbersome process and usually takes up a lot of time and resources. DocuFile aims to provide easy access to a User's documents to the Institute/Company which will help in seamless and smooth verification of documents. It will also decrease the amount of time a person spends uploading the documents each time they apply to different Institutions.
Users can store their documents safely in DocuFile and share them with a registered Institute or Company as per his/her need.
- The Users will have their documents stored encrypted in our servers.
- Institute or Company can request a User to view their documents.
- Users can grant access to an Institute's request and can revoke it later after the completion of document verification.
- Users can request Institute or Company for Certificates.
- Institute or Company can issue Certificate to Users.
- A User's documents cannot be viewed by the admins. The private key used for encryption and decryption will not be stored in our servers.
- HTML 📌
- CSS 📌
- Bootstrap 📌
- Python 📌
- SQLite 📌
- Django
- ✔️ Create a sign-up page for Users
- ✔️ Create a sign-up page for Institutes and Companies
- ✔️ Create a common log-in page
- ✔️ In User home-page, they're able to view their current documents.
- ✔️ User able to grant or revoke view-permissions to Institute or Company and also see pending view-permissions.
- ✔️ User able to see which Institutes or Companies can currently view his/her documents.
- ✔️ Institute or Company (I/C) able to view an User's documents after receiving view permission from the User.
- ✔️ I/C able to issue Certificates to Users.
- ✔️ I/C able to request Users for view-permission of their documents.
- ✔️ User able to request for certificates from an I/C.
- ✔️ I/C able to view pending Certificate requests from User.
- ✔️ Add encryption to Certificates
- Python3
- Django
- fpdf
- PyPDF2
- Install the dependencies first:
- Python3 can be installed using the following documentation: https://docs.python.org/3/using/index.html
- Next, open the terminal and type the following commands:
- pip install Django
- pip install fpdf
- pip install PyPDF2
- Next clone the app:
- Finally, run the app:
- cd project-shinigami/docuFile/
- python manage.py makemigrations
- python manage.py migrate
- python manage.py runserver
- Then open the url "localhost:8000" in your favourite browser to run the app
- Once you log-in, you will be redirected to your respective homepage:
- If you are a User, you can view your documents on the homepage.
- If you are a Institute/Company, you can view pending Certificate requests on the homepage and also search for User's documents whose access you already have.
- Institute/Companies in India: They will be the main customers/buyers of this app
- Student/Professionals: They will be the Users whose documents the Institute/Companies will check.
- Vinayak Bhartia (213050041): User homepage and Institute homepage, Uploading Certificates and View-Access, Database integration
- Sagar Biswas (213050079): User homepage and Institute homepage, Login and Signup, Database integration, Documentation
- Jaimin Chauhan (213059005): User homepage, Login and Signup, Encryption of documents, Database integration, Documentation
project-shinigami/Documentation/_build/html/index.html
- https://docs.djangoproject.com/en/3.2/
- https://bootstrapious.com/p/bootstrap-sidebar
- https://www.youtube.com/playlist?list=PL-51WBLyFTg2vW-_6XBoUpE7vpmoR3ztO
- https://stackoverflow.com/questions/48606087/getting-values-of-queryset-in-django
- https://www.digitalflapjack.com/blog/2021/4/27/bytes-not-bytearrays-with-django-please
- https://docs.djangoproject.com/en/3.2/ref/request-response/
- https://www.delftstack.com/howto/django/django-reset-database/
- https://docs.djangoproject.com/en/dev/internals/contributing/writing-documentation/
- https://stackoverflow.com/questions/33218629/attaching-pdfs-to-emails-in-django
- https://www.geeksforgeeks.org/setup-sending-email-in-django-project/
- https://www.geeksforgeeks.org/setup-sending-email-in-django-project/
- https://www.geeksforgeeks.org/convert-text-and-text-file-to-pdf-using-python/
- https://www.geeksforgeeks.org/encrypt-and-decrypt-pdf-using-pypdf2/
- https://www.youtube.com/watch?v=rHux0gMZ3Eg&t=9s
- https://stackoverflow.com/questions/42150499/how-do-i-delete-db-sqlite3-in-django-1-9-to-start-from-scratch/42150639
- https://medium.com/ibisdev/upload-multiple-images-to-a-model-with-django-fd00d8551a1c
- https://stackoverflow.com/questions/40902890/django-image-src-not-found
- https://stackoverflow.com/questions/21505255/identify-which-submit-button-was-clicked-in-django-form-submit/21505314