巴姆项目

巴姆网站是我出于对语言的兴趣所建,用以支持巴姆文的发展。巴姆文是由喀麦隆巴姆王国第17任国王Njoya所创,当我知道它时,我就做了这个网站来记录,并且分享给他人。


摘要

巴姆项目是我2017年初开始的项目,当时我已经学习普通话7年了,我带着强烈的语言学习欲望回到了美国。

作为非裔美国人,我搜索了一种更接近非洲遗留的语言。在为我的研究挑选了很多候选后,我找到了巴姆王国。Njoya国王的故事和巴姆语言的发展让我着迷,同时,我也发现自己有38%的喀麦隆血统。

技术

在该项目进行时,我已经使用Angular2设计了一个新的应用,同时想尝试使用Angular4来设计现实应用。当我很多应用都是带有MySQL数据库的LAMP stack,在看到使用谷歌Firebase,一些实时数据不用刷新就可以直接反射到应用上时,我被惊艳到,立马选择谷歌Firebase。

Angular4用于前端,Node.js是应用服务器,而Firebase则用于数据储存。因为使用Firebase,所有返回的对象都是JSON格式。

注释

我意识到需要给这种特定的应用附加一种搜索引擎功能。所以我需要找到一种方法自然的嵌入列值,唯一不方便的是其让我无法立即执行嵌入式搜索。

没有任何附加的组件,Firebase只能反馈回简单的搜索,而不是嵌入式搜索的。比如在搜索框中输入“水”,就只能返回关于水的信息,而不能显示带有“水”字的其他信息,另外两个第三方框架(包括Elasticsearch)在内,可以有此功能,但当时在结束前并没有足够的时间来完成编码。

更新 (2018/8/27)

在2018年8月,我曾使用Laravel,一种像Express一样运行的PHP MVC框架,建立了一个小一些的项目。你可以只使用Laravel制作整个网站,也可以只使用Laravel建造后端,使用路由和API服务,这样,你就可以使用JavaScript,比如Angular,React 或者Vue来创建前端。

我需要为Bamum语言在线词典完全植入搜索,所以我会使用Laravel,MySQL和Blade模板引擎,在适当的时候升级为Angular6。