Xenocrates Xenocrates의 요약은 더 나은 조직을 보장하기 위해 회사에 직원 관리 시스템을 제공하도록 설계된 응용 프로그램입니다. Xenocrates는 SQL Server가있는 ASP.NET MVC에 데이터베이스로, Async 데이터 요청의 경우 jQuery에 구축됩니다. Xenocrates의 서비스는 세 가지 주요 범주로 나뉩니다
관리자 서비스 : • 회사 전체 회사에 대한 통계. • 각 역할에서 직원의 수를 봅니다. • 회사의 모든 근로자에 대한 CRUD 운영은 직원에 대해 원하는 모든 세부 사항을 찾으려고 탐색합니다. • 모든 부서의 CRUD 운영 및 각 부서의 구체적인 세부 정보를 확인하십시오. • 모든 부서에서 세부 정보가 포함 된 모든 부서에서 완성 된 프로젝트를보십시오. • PayPal과 통합 결제 시스템으로 버튼 클릭으로 빠르게 지불 할 수 있습니다. • 각 직원에 대한 분석 결제 기록. 감독자 서비스 : • 그의 부서의 통계. • 그의 부서의 각 근로자에 대한 세부 정보보기 • 직원을위한 개별 캘린더에 대한 CRUD 운영 • 프로젝트에 대한 CRUD 운영 • 라이브 채팅을 조직하고 의사 소통하는 능력
직원 서비스 : • 라이브 채팅으로 부서의 모든 사람과의 커뮤니케이션 • 달력을보고 그 달의 일정을 확인하십시오. • 그에게 할당 된 프로젝트를보고 마무리하십시오.
서비스 세부 사항 : • PayPal은 현재 샌드 박스 모드에 통합되어 있지만 모든 잠재력이 있습니다. 현재 Xenocrates는 PayPal API의 지불금 서비스와 협력합니다. Xenocrates에 대한 지불 시스템은 관리자가 지불에 실수하지 않도록 관리 할 수 있도록 구축됩니다. 직원이 지급 된 후, 관리자가 이미 특정 직원에게 지불했으며 그 달 기간 동안 다시 지불 할 수 없다는 메시지가 나타납니다. 지불을 시도한 후에는 시스템이 요청의 상태를 감지하고 긍정적 인 경우 시스템에 성공적인 지불을 저장하고 직원의 개인 데이터에 저장하여 관리자가 지불을 완전히 추적 할 수 있도록합니다. 그렇지 않으면 거래에 문제가되는 시스템 발표. • 각 직원에 대해 삽입 된 이메일 및 전화는 전역 규모로 검색하여 유효한 지 확인하여 가짜 계정이 등록되지 않습니다. API는 중성자 인포 폰과 Zerobounce1을 포함합니다. • 데이터베이스 내부에 부적절한 항목이 저장되지 않도록 자주 실행되는 보안 방법 • 부서의 모든 직원이 실시간으로 서로 채팅 할 수있는 Signalr 기술에 대한 구현과 실시간 채팅. 모든 메시지는 데이터베이스에 저장되므로 메시지 기록에 추가 할 수 있습니다. • 전체 캘린더가있는 캘린더 구현은 기본이지만 감독자의 요구에 맞게 완전히 개인화되었습니다. 감독자는 각 직원에게 할당 한 프로젝트를 검사하고 작업 부하에 따라 각 직원의 월간 일정을 조정합니다. 반면에, 직원은 행동을 수행 할 수 없으면 그의 캘린더 만 볼 수 있습니다. • 개인화 된 바닐라 Javacript 및 Ajax 호출이있는 차트 및 그래픽은 요구 사항에 맞게 jQuery로 호출됩니다. • 무료 평가판 계정과 함께 Twillio를 사용하여 휴대폰이 확인됩니다. 모든 새 사용자의 첫 번째 로그인시 모바일이 삽입되고 확인됩니다. 먼저 API는 전화 번호가 존재하는지 확인한 다음 안전을 진행하기 위해 보안 코드를 통해 Twillio에서 메시지를 전송합니다. Twillio 확인 작업이 자유롭게 작성되도록 Team Pyravlos에 연락하여 계정에 귀하의 번호를 포함시킬 수 있도록 무료 재판 계정 만 계정에서 확인 된 번호로 텍스트 만 보냅니다. • 이메일 확인은 ASP.NET에서 제공되는 내장 방법의 도움으로 구현되어 모든 신입 사원에게 새 확인 이메일을 보낼 수 있도록 이메일을 확인할 수 있습니다.
백엔드 분석 : Xenocrates는 독립적 인 공급자의 데이터 및 서비스가 제공되는 주요 구성 요소의 아이디어로 구축되었습니다. 컨트롤러는 데이터베이스에 액세스 할 수 없거나 어려운 작업의 무게를 가져옵니다. 따라서 모든 컨트롤러에는 자체 데이터 저장소가 있으며 모든 작업을 수행하는 서비스에 액세스 할 수 있습니다. 따라서 각 컨트롤러의 데이터 저장소는 데이터 유형에 따라 다른 그룹으로 나뉩니다.
Xenocrates를 구축하는 동안 우려의 분리는 우리의 주요 초점이므로 빠르고 유지 관리 가능하며 통합 된 시스템을 구성하는 많은 독립적 인 방법을 가질 수있었습니다. 단일 책임이 있으므로 소스 코드를 이해하기 쉽고 향후 패치에서 XUnit 테스트를위한 창을 남기므로 모든 것이 더욱 제어됩니다.
정렬 및 필터링 저장소 및 뷰 백에 대한 저장소가 데이터 리포지토리 패턴에 따라 구현되었습니다. “자신을 반복하지 마십시오”라는 규칙과 우려의 분리가 달성되도록해야 할 모든 것.
데이터베이스 스키마 :
데이터베이스는 주요 초점으로 설계 및 제작되었으며 엔티티 프레임 워크 엔티티와 가능한 한 적게 상호 작용했습니다. 엔티티를 제공하고 바인딩하는 키가있는 엔티티의 복잡성은 데이터베이스의 안정성에 매우 위험 할 수 있기 때문입니다. 우리는 데이터베이스를 가능한 한 정상화하여 쓰나미의 반응을 일으키지 않고 모든 것을 조작 할 수 있도록 노력했습니다. 대부분의 경우 우리는 엔터티를 두 주요 엔티티로 나누는 데 성공했습니다. 첫 번째는 사용자가 직원의 온라인 프로필과 데이터베이스에서 근로자 테이블에서 인정되는 직원의 개인 정보를 나타내는 엔티티 프레임 워크로부터 제작 및 보호 된 신청서입니다. 이 두 엔티티를 제외한 모든 것은 비용없이 언제든지 삭제하거나 편집 할 수 있습니다.
우리는 다른 작은 종류의 작은 문제에 부딪쳤다 : • DateTime 조작 및 디스플레이 • c# dateTimes를 JavaScript 날짜로 변환합니다. • 프론트 엔드에 사용했지만 더 많은 문제를 일으키는 템플릿의 조작 : • ASP.Netusers의 알파 버전은 외국 열쇠와 관계를 추가 한 후에는 시스템을 추가로 시작한 후에는 ASP.Netuss와 관계를 추가하여 제작되었습니다. asp.netusers가 노출되었습니다. 그래서 우리는 다시 시작하고 데이터베이스의 최종 디자인으로가는 길을 찾아야했습니다. 그렇기 때문에 폴더의 이름이 managementystemversiontwo로 명명됩니다. • 전체 캘린더 라이브러리는 우리에게 유용하지 않았으므로 우리는 기능을 조작하는 방법을 이해하기 위해 모든 문서를 읽는 데 며칠을 보내야했습니다. 감사합니다! Christos Lagos Iliana Beikou Spyros Tsamis George Chatziadis John Podogorianiotis