Chitter allows developers to share useful information quickly and informally using a social, micro-blogging approach.
We're starting this project with a single README file and inviting collaborators to define the requirements and architecture as well as developing the application.
You'll need the following prerequisites to develop Chitter:
Then run the following commands:
# Download the code
git clone https://github.com/ColinOrr-Asidua/chitter.git
cd chitter
# Download the dependencies
npm install
# Start the database & application
mongod # if on Cloud9, run ./mongod instead
node server.js
All being well, you should be able to visit the application on localhost:3000
When deciding on our list of requirements and our architecture we want to apply the following principles:
- We're coding for fun!
- We're learning new, contemporary technologies
- We're applying good Agile principles like BDD and CI
- We're making it quick and easy to get ideas into production
- We're including our ops team from the beginning
When making architecture, design and technology decisions, developers should keep the following principles in mind:
- Chitter will be developed using responsive web design techniques
- Chitter will be developed using suitable JavaScript and CSS frameworks
- Chitter will be developed in a manner that does not tie it to one specific database type
- Chitter will be developed in line with modern web architectural patterns
- Chitter will be developed in a manner that will support the addition of mobile clients in the future
- Chitter will be developed using Behaviour Driven Development (BDD)
- Chitter will be developed using Continuous Integration, Delivery & Deployment
- Chitter will be developed in a manner that will support public cloud deployment
- Chitter will be developed using freely available tools and frameworks (no Asidua licenses will be required)
- Chitter will be developed using tools and frameworks that are not tied to a single platform (e.g. Windows)
Chitter follows the Fork & Pull model for collaborative development.
Development mode:
$ dc-run chitter_web
$ npm start
Deploy to Digital Ocean:
$ eval $(docker-machine env digitalocean)
$ dc -f docker-compose.prod.yml up --build -d