Inspired by Project Ara, AraChat aims to develop a platform/ library for creating highly modular chat applications.
No matter you'd like to assemble your own WeChat, or cause the next surprise as Red Envelope Game with Moment Photos did, AraChat will facilitate the process of developing your own chat application with minimalistic and extensible chat modules.
Our ultimate goal is to save your time on prototyping and have you have more funs on creating your own Wechat by making chat application creation as easy and simply as just clicking, dragging and assembling modules on a website.
General Architecture from Meteor Homepage
Based on our experiences on web development and descriptions metioned above, we take Feb, 2016 as the 1st stage with the primary goal of prototyping our own chat application following the [Development Guildlines](https://github.com/BitTigerNY/AraChat/edit/master/README.md#Development Guildlines) metioned below. Here're some tentative schedules.
- [2016/02/01 - 2016/02/07] Project Selection, Plan Discussion, and Proposal Draft Writing
- [2016/02/08 - 2016/02/24] System Design, Resource Discovery, Project Implementation, Document Writing
- [2016/02/25 - 2016/02/29] User Manual Writing and Video Presentation Making
Details of each schedule and task will be added later.
Please refer to https://github.com/BitTigerInst/AraChat/issues/3 for ongoing tasks.
- [BitTiger Project: AppStore - Website] https://slack-files.com/T0GUEMKEZ-F0J4G9QTT-274d3bc97e
- [Design & Implementation of WeChat Backend System] http://goo.gl/rZPdHY
- [FireChat & Firebase] https://github.com/firebase/firechat | https://firechat.firebaseapp.com/
- [Chat Server] http://rosettacode.org/wiki/Chat_server
- Javascript: Meteor, Node.js
- Java
-
Modularity. Following the principle "loose coupling and high cohesion", each module should be standalone.
-
Minimalism. Each module should be kept short, simple, and concise. Every piece of code should be transparent upon first reading.
-
Easy extensibility. New modules (as new classes and functions) are should be simply add, and existing modules should be extended easily.
@team: DMK