Giter Club home page Giter Club logo

cau-oss-2019 / team-project-team06 Goto Github PK

View Code? Open in Web Editor NEW
6.0 2.0 6.0 9.56 MB

Highlight My Life(HML) is a program that highlights what is important in the pdf file of textbooks or lecture books that contain a lot of content. By highlighting, you will be able to easily understand which part of the content is important and provide convenience in studying or understanding.

License: MIT License

Python 36.08% CSS 14.08% JavaScript 15.18% HTML 22.93% SCSS 11.72%

team-project-team06's Introduction

Highlight My Life

Highlight My Life(HML) is a program that highlights what is important in the pdf file of textbooks or lecture books that contain a lot of content. By highlighting, you will be able to easily understand which part of the content is important and provide convenience in studying or understanding.

Highlight My Life(HML) is an open source project developed by Chung-ang University Student Team using Google API, OCR, NLP etc..

HML is made in Python 3 version.

Installation


To install package

    $ git clone https://github.com/CAU-OSS-2019/team-project-team06.git
    $ cd team-project-team06
    $ pip install -r requirement.txt

Also install poppler package in https://github.com/Belval/pdf2image

You have to get Google Cloud Vision API key for running this program.

    $ export GOOGLE_APPLICATION_CREDENTIALS="/my key location.json"

Getting Started in Web


    $ python manage.py makemigrations
    $ python manage.py migrate
    $ python manage.py runserver 0.0.0.0:8000
Enter '127.0.0.1:8000/mainapp'



Press "파일선택" -> "Upload" -> "Send"




                               input                                                                output

Test


Put pdf what you want to highlight into 'input' directory

    $ cd team-project-team06
    $ python -m mainapp.pdf2jpg -i mainapp/input

Contribute


Contribution guidelines


If you want to contribute to HML, be sure to review the contribution guideline. This project adheres to HML's code of conduct. By participating, you are expected to uphold this code.

We use GitHub issues for tracking requests and bugs.

License


MIT license

team-project-team06's People

Contributors

ajs7270 avatar janghyukjin avatar donghoney avatar njw1204 avatar hyunjae-lee avatar heozeop avatar dependabot[bot] avatar minjoong507 avatar smallfish06 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

James Cloos avatar  avatar

team-project-team06's Issues

메모리 문제 해결

만약에 넣는 PDF 양이 많고 담은 텍스트의 크기가 크다면 키워드 추출 도중 문제가 생기거나 메모리가 부족할 수 있다고 생각합니다. 그럴 경우를 대비하여 데이터를 일정 개수만큼씩만 읽고 처리하여 반복하는 방식으로 구현해도 좋을 것 같습니다.

실행시 PDFInfoNotInstalled Error 가 뜹니다.

Python 3.7.2 환경에서 실행시켰을시에, PDFInfoNotInstalledError: Unable to get page count. Is poppler installed and in the PATH 에러가 발생합니다.
확인부탁드립니다.감사합니다.

file을 upload할때 하나씩 업로드해야 하는 단점이 있습니다.

file을 upload할때 하나씩 업로드해야 하고 그때마다 새로 고침되는 단점이 있습니다.
키워드를 찾기 위해 여러 파일을 넣어야 되는데 그 때마다 파일을 하나씩 선택해야하는 귀찮은 문제가 있습니다.
이때 여러파일을 한 번에 업로드하면 사용자에게 훨씬 더 유용한 기능이 될 것 같습니다.

리펙토링 필요

image
위는 mainapp의 forms.py에 있는 코드입니다. 이 코드는 사용되지 않고, vaild한 form이 아닌 코드로 처음 프로젝트를 접한 사람들에게 코드 이해에 어려움을 줄 수 있을 것 같습니다. 이런 부분에서 전체적인 코드 리뷰와 리펙토링이 있으면 좋을 것 같습니다.

README에 오타가 있습니다

installation에 To install package에서 3번째 줄에
pip install -r requirements.txt 이라 명시 되어 있는데
파일은 requirement.txt 이네요 일치 시켜야 혼동이 없을 듯 합니다.

주석 처리 필

처음 이 프로젝트에 참가한 사람이 코드를 알아보기 위한 주석 처리가 필요할 것 같습니다. 저는 mainapp의 view 등의 파일을 봤는데 주석이 없어 내용을 파악하기 어려웠습니다. 전체적인 주석 처리 희망합니다.

업로드 이후 선택된 파일이 사라집니다.

Python 3.7 버전에서 아나콘다에서 테스트 하였는데,
파일 업로드를 할 경우 UPLOAD COMPLETE!라는 메세지가 정상적으로 나온 후
image
위 화면 처럼 파일이 사라집니다. 혹시나 하고 해당 상태에서 Send버튼을 눌렀으나 start converting이라는 메세지가 잠깐 나왔다 사라질 뿐, 아무런 output도 나오지 않습니다.
image
해당 사진은 프로그램 테스팅 시 나왔던 Conda 상에서 메세지들입니다.

업로드 이후 파일을 정상적으로 Send 할 수 없는 버그가 있는 것 같습니다. 확인해 주세요

하이라이팅 색깔을 결정하는 방식에 문제가 있습니다.

현재는 하이라이팅할 영역의 색깔을 (R, G, B)에서 (255 - R, 255 - G, 255 - B)로 바꾸는 방식으로 하이라이팅을 하고 있는데, 이 방식에는 문제가 있습니다.
만약 원래 색깔이 (127, 127, 127)이라면 하이라이팅 후 색깔은 (128, 128, 128)으로 육안으로 차이를 확인할 수 없을 것입니다. 또한 하이라이팅 색깔이 각각의 영역마다 달라서 고르지 않다는 문제도 있습니다.
RGB값이 127에 가까우면 하이라이팅 효과가 거의 나타나지 않으므로, 하이라이팅 색깔을 결정하는 방식을 바꿔야한다고 생각합니다.

하이라이팅 색상 사용자설정

현재 pull request (#4)에서 하이라이팅하는 색상을 변경하려면 코드를 수정해야 한다는 점을 발견했습니다. 사용자 편의성을 위해 유저가 직접 색상 설정을 할 수 있는 기능을 추가하고자 하는데 괜찮을까요?

highlight.py 코드 중 의미를 알 수 없는 2차원 배열이 있습니다.

헤당 코드를 읽어보니 코드의 알고리즘이 하이라이팅 해야하는 단어의 좌표를 리스트에 저장한 후 해당 단어들을 한번에 진행하는 것으로 보입니다.
이러한 단어들을 word_location_list에 저장하는 것으로 보이는데 왜 굳이 왜 2차원 배열로 해당 좌표를 참조하는지 의문이 들어 이슈를 남깁니다. 혹시 다른 의미가 있는 것인가요??

Django가 Single thread로 동작하기 때문에 발생하는 불편함이 있습니다.

현재 서비스가 Single thread로 동작하기 때문에 처리가 끝날 때까지 웹페이지를 전환하지 못하고 기다려야하는 문제가 있습니다.

만약 하이라이트를 추출하는 중간에 페이지를 전환하면 작업이 정지되기 때문에 사용자는 불편함을 겪을 수 있다고 생각합니다. 이를 Multi thread로 동작하게 한다면 조금 더 좋은 프로그램이 될 것 같습니다.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.