Aplicação de exemplo Hostels Kenya
Derrick Muteti e felix Omook, da Universidade de Kerinyaga, no Quênia, contribuíram com esse projeto.
Hostels Kenya é um site que oferece aos alunos a oportunidade de encontrar qualquer albergue de sua escolha, filtrando por distância da escola, nome da universidade, tipo de quarto e até mesmo aluguel mensal. Ele também fornece orientações aos alunos, caso eles sejam novos na área. Assim que encontrarem um albergue de que gostem, eles têm a opção de fazer uma solicitação de reserva, após a qual o proprietário/senhoria é automaticamente notificado via SMS pelo nosso sistema. Os alunos também podem solicitar o recebimento de uma notificação quando o albergue de sua escolha estiver totalmente ocupado. Os alunos têm a oportunidade de avaliar e avaliar os albergues disponíveis em nosso sistema, ajudando outros alunos a tomar melhores decisões ao procurar albergues. Lançamos o site em 1em setembro de 2020 e, até agora, registramos hostels 26 em nossa universidade e estamos expandindo para cobrir outras universidades.
Eu venho da província de Nyanza, no Quênia, e estudo na Universidade Kirinyaga, a universidade na região central do Quênia, que fica a cerca de 529km da minha casa. A maioria das Universidades no Quênia não oferece hospedagem para alunos e, se houver, uma minúscula porcentagem dos alunos é hospedada pela escola. Por esse motivo, a maioria dos alunos se hospeda em albergues particulares fora da escola. Portanto, conseguir um albergue é sempre um desafio, especialmente para os alunos que são novos na área. No meu caso, tive de viajar de casa para a Universidade de Kirinyaga um mês antes da data de admissão para reservar um albergue. Assim, decidi desenvolver o hostels Kenya para ajudar os alunos de diferentes partes do país a encontrar facilmente albergues estudantis e fazer solicitações de reserva.
Meu tempo para desenvolver este projeto teve altos e baixos. Comece a trabalhar no projeto no ano passado usando PHP e MySQL. Depois de enfrentar muitos desafios para armazenar meus dados e lidar com queries geoespaciais, precisei interromper o projeto. O estranho é que, no ano passado, eu não estava a par da existência do MongoDB. Mas eu vi que o MongoDB fazia parte do GitHub Student Developer Pack. E agora que estava enfrentando um problema, tinha que dedicar um tempo e aprender MongoDB.
Em abril deste ano, iniciei o projeto do zero usando Node.js e MongoDB.
O MongoDB tornou muito fácil para eu lidar com queries geoespaciais e o fato de eu poder incorporar documentos agilizou muito a leitura das perguntas. Isso não foi possível com o MySQL, e é por isso que optei por um banco de dados NoSQL. Aprender o MongoDB também foi simples, e levei um curto período de tempo para configurar meu projeto. É por isso que o MongoDB lida com a maioria das tarefas pesadas para você. Para ser sincero, não acho que poderia ter concluído o projeto a tempo com todas as funcionalidades se não tivesse usado o MongoDB.
Desde o lançamento do site em 1em outubro de 2020, o site ajudou mais de 1 mil estudantes da minha universidade a encontrar albergues, e esperamos que esse número cresça quando expandirmos para outras universidades. Com os atuais regulamentos COVID-19 do governo sobre viagens, muitos estudantes optaram por usar este site em vez de viajar por longas distâncias enquanto esperam para retomar o aprendizado presencial em janeiro de 2021.
Os alunos podem criar uma conta em nosso site. Nossa consulta de pesquisa usa a escola que eles Go, o tipo de quarto que procuram, o aluguel mensal e a distância da escola. Depois que os alunos preencherem esta pesquisa, ela retornará os hostals que atendem aos seus pedidos. Usamos os dados geográficos, a longitude e a latitude da escola e os albergues para encontrar os albergues mais próximos. Filtrar e consultar isso é obviamente onde a estrutura de agregação MongoDB entra em vigor. Nós amamos isso!
Os proprietários de hostals podem registrar seu host através do website. Eles serão adicionados ao nosso banco de dados e os alunos poderão começar a reserva de um quarto em nosso website.
Os estudantes também podem ver todos os albergues em um mapa e selecionar uma de suas opções. Foi benéfico podermos incorporar todos esses dados, e a melhor parte foi a capacidade do MongoDB de lidar com o GeoData.
Hoje, os proprietários de albergues podem registrar seu albergue através do site; Eles podem fazer login em sua conta e alterar as fotos. Mas estamos ansiosos para implementar mais recursos, como um painel, e torná-lo mais fácil de usar.
No momento, estamos usando o mongoose, mas estamos planejando expandir e usar o MongoDB Atlas no futuro. Eu assisti palestras sobre Atlas no Mongodb.live Asia e fiquei surpreso. Estou ansioso para implementar isso. Também andei assistindo a alguns vídeos do MongoDB no YouTube sobre padrões de design e vi que isso é algo que podemos adicionar no futuro.
Exceto por toda a mudança de PHP e SQL para MongoDB e Node.js, encontrar hostis tem sido nosso desafio. Subestimei a importância do marketing. Eu não sabia o quanto seria difícil até ter que Go e conversar com os proprietários de albergues, tentando convencê-los a participar. Mas estou vendo que os alunos que estão usando o aplicativo o estão achando muito útil.
Decidimos trazer outra pessoa a bordo para nos ajudar com o marketing. E também estamos tentando entrar em contato com a escola para ver como eles podem nos ajudar a nos envolver com os albergues.
No futuro, queremos criar um aplicativo de desktop para proprietários de albergues. Algo que possa ser instalado em seus computadores facilita o gerenciamento das reservas dos alunos.
A maioria dos proprietários está construindo muitos albergues ao redor da escola, então esperamos tê-los a bordo.
Mas primeiro, queremos adicionar mais albergues ao sistema em dezembro e criar mais dados para nossos alunos. Especialmente agora que podemos Go às aulas em janeiro, é essencial continuar adicionando acomodações.
Quanto a eu, também estou seguindo cursos na MongoDB University. Percebi que não há um MongoDB Agent certificado em meu país e gostaria de me tornar o primeiro.