E_learn
VNSGU 대학교 BCA 6학기 졸업의 일환으로 E 학습 웹 개발 프로젝트
특징 :
사용자 사이트
- 다양한 언어로 코드 실행
- 사용자 2인 영상 통화, 여러 사용자가 통화에 참여할 수 있음
- 찬성/반대 투표, 질문 태그 지정, 질문 답변 등을 포함한 QnA 토론
- 독서강좌 > 강의계획서 > 학습섹션
- Whatsapp, Facebook 등에서 좋아요/댓글 및 공유를 통해 기사 읽기
- 사용자 2-관리자를 위한 tawk.to 채팅 연중무휴 24시간 채팅 지원
- HTML 위치 API + Google 역지오코딩 API를 사용하여 GPS를 사용하여 사용자 주소를 가져오는 자동 주소 생성기
- 사용자로부터 피드백이나 설문 조사를 받기 위한 사용자 설문 조사
- User-2-User 챌린지, 사용자는 5개의 무작위 질문 라운드에 대해 서로 도전하고 승자는 사용자의 XP에 추가되는 승리에 대한 XP를 얻습니다.
- On Site + Mail(html mail) 사용자에게 QnA 및 문제에 대한 알림을 보내는 알림
- QnA 게시물, 설문 조사, 팔로어, 연락처 정보와 같은 세부 정보를 볼 수 있는 사용자 프로필입니다. 등
- 팔로우/언팔로우용 ajax, 주소 업데이트
관리 사이트
- 페이지당 X개의 레코드 나열, 정렬, 검색, 페이징 및 PDF, CSV, Excel 및 인쇄, 복사로 데이터 가져오기를 위해 각 페이지에서 Datatables + Ajax를 광범위하게 사용
- 추가/업데이트/차단/차단 해제를 통한 관리자 관리
- 카테고리 관리 -> 강좌 -> 챕터 추가/업데이트/차단/차단해제
- 차단/차단 해제로 섹션(튜토리얼) 및 기사 관리, WYSIWYG 편집기로 추가/업데이트 + 편집기 자체에서 imgur.com에 이미지를 추가하여 즉시 이미지 삽입
- N개의 옵션을 추가하고 설문조사 시작 및 종료 날짜를 설정하여 추가/업데이트/차단/차단 해제를 통해 설문조사를 관리합니다.
- 4가지 옵션을 추가하여 추가/업데이트/차단/차단 해제로 챌린지 질문 관리
- 차단/차단해제를 통한 사용자 관리 및 사용자 상세 프로필 보기
- 질문과 답변 모두 차단/차단 해제로 QnA 관리
- 추가/업데이트/차단/차단 해제를 통해 태그 관리
- 피드백에 대한 응답으로 사용자에게 메일(html 메일)을 보내 사용자 피드백을 관리합니다.
- 피드백을 위한 사이트 + 메일(html 메일) 시스템입니다.
다른
- 백엔드에서 http 요청을 실행하기 위해 cURL을 사용합니다. 예를 들어 API 주소나 인증 키를 사용자에게 노출하지 않고 google 역지오코드 API 요청을 호출합니다.
- 더 나은 검색 결과 순위를 위한 SEO 친화적인 URL
- 사용자 입력을 필터링하여 XSS 공격을 방지하고 모든 입력 지점에서 검증을 통해 SQL 주입을 방지합니다.
미래 범위
- SEO를 향상시키는 슬러그(사용자 친화적인 텍스트)로 ID 노출을 숨깁니다.
- 섹션에 disquss 댓글 시스템 추가(튜토리얼)
- 더 빠른 페이지 로드를 위한 웹페이지 + DB 캐싱.
- WYSIWYG 편집기를 마크다운 편집기로 교체합니다.
테크스택
- 서버 - 아파치 2.4.29
- 백엔드 언어 - PHP 7.2.1
- 프레임워크 - Codeigniter 3.1.8 MVC 프레임워크
- DB - MySQL
- 프런트엔드 - HTML5, Bootstrap3
- 제어판 - XAMPP 7.2.1
- 편집기 - 숭고한 텍스트
Windows에서 설정
- 필요한 XAMPP 버전을 설치합니다.
- Apache의 php.ini를 열고
upload_max_filesize 값을 4M 으로 설정하고 파일을 저장한 후 Apache와 mysql 서버를 모두 시작/다시 시작합니다 . - phpmyadmin을 열고
e_learn 과 같은 이름으로 데이터베이스를 만듭니다. - DB가 생성되면 DB 목록에서 e_learn 데이터베이스를 선택하고 가져오기 탭으로 이동하여
/resources/db/db.sql 에 있는 sql 파일을 가져오고 이동을 클릭하고 가져오기가 완료될 때까지 잠시 기다립니다. -
/application/config/config.php 열고 $config['base_url'] 프로젝트 홈페이지로 설정합니다. 예를 들어 프로젝트가 e_learn 이라는 디렉터리 내에 있는 경우 http://localhost/e_learn/으로 설정하고 파일을 저장합니다 . -
/application/config/database.php 열고 hostname , username , password 및 database 필드를 설정하고 파일을 저장합니다 . - http://localhost/e_learn을 방문하면 사용자의 로그인/등록 페이지가 표시됩니다. 데이터베이스에 있는
tbluser 테이블의 자격 증명을 사용하여 로그인을 시도하세요. - 마찬가지로 http://localhost/e_learn/admin을 방문하면 관리자의 로그인 페이지가 표시됩니다. 데이터베이스에 있는
tbladmin 테이블의 자격 증명을 사용하여 로그인해 보세요.