Unstop의 풀 스택 개발자 도전
문제 진술
- 열차 코치에는 80 석, 연속 7 석, 마지막 줄 3 석이 있습니다. 간단하게하기 위해이 열차에는 코치가 한 명뿐입니다.
- 한 사람은 한 번에 최대 7 석을 예약 할 수 있습니다.
- 사람이 좌석을 예약하는 경우 우선 순위는 한 줄로 예약하는 것입니다.
- 좌석을 한 줄로 이용할 수없는 경우 근처 좌석이 예약되는 방식으로 예약을 수행해야합니다.
해결책
- 문제 시나리오에는 80 석이있는 기차 코치가 있습니다. 각 좌석은 빈 ( '0') 또는 예약 ( '1') 중 하나에있을 수 있습니다. 시트 상태는 길이가 80 인 "all_seats"라는 문자열로 표시됩니다.
- 시트 상태를 유지하기 위해 문자열 "All_Seats"가 데이터베이스에 저장됩니다. 이를 통해 프로그램은 좌석 예약에 대한 변경 사항을 저장할 수 있습니다.
- 코드의 논리, areseatsavailable () 함수 지정 행에 특정 수의 좌석을 수용 할 수있는 빈 좌석 블록이 있는지 확인합니다. 좌석 행 ($ 행)과 원하는 좌석 수가 필요합니다 ($ numseats)
- Reserveseats () 함수는 기차 코치의 좌석을 보충 할 책임이 있습니다. 코치 배열 ($ Coach)과 원하는 좌석 수 ($ numseats)의 두 가지 매개 변수가 필요합니다.
- "All_Seats"문자열을 데이터베이스에 저장하면 좌석 예약은 다른 프로그램 실행에서 지속될 수 있습니다. 이를 통해 프로그램은 응용 프로그램을 다시 시작하거나 닫은 후에도 최신 좌석 상태를 유지할 수 있습니다.
응용 프로그램을 실행하는 방법
- github에서 프로젝트를 다운로드 [https://github.com/kunalpandharkar/unstop-challenge]
- 실행 명령을 통해 모든 프로젝트 종속성을 설치하십시오
- 환경 파일 복사 * .env.example 파일을 프로젝트 루트에서 .env 로 복사하십시오.
- 로컬 환경에 적합한 구성 세부 정보 (데이터베이스 설정 등)로 .env 파일을 업데이트하십시오.
- 응용 프로그램 키 생성 :
- XAMPP 서버를 시작하십시오. [mysql]
- 데이터베이스 마이그레이션 실행 :
php artisan migrate:fresh
- * 매우 중요 : 테이블에 길이가 80 인 문자열을 삽입하는 데이터베이스 시드기.
프로젝트에 사용 된 파일
app/Http/Controllers/TicketBookingController
database/migrations/
database/seeders/TicketbookingSeeder
resources/views/welcome.blade.php
resources/views/ticket-info.blade.php
routes/web.php
나에 대해
클라이언트 요구 사항 및 사양에 따라 성공적인 프로젝트를 개발하고 배포 한 경험이있는 Full Stack Web Developer는 저의 기술을 활용하기 위해 평판이 좋은 조직에서 어려운 역할을 찾고 있습니다.
? 모래밭