tweetr is a small Twitter-like application for the node.js webdev course at the OTH Regensburg by Eamonn de Leastar.
Users can sign up, login and start tweeting text and images. Tweets can be viewed in a global timeline called "firehose", and in a customized feed, which displays all tweets created by people a user follows. Furthermore, admin users exist, which are able to add and remove any user and tweet.
tweetr is currently deployed to Heroku, using Cloudinary for image storage and mLab's hosted MongoDB. It's built on hapi and TypeScript and, as mentioned, purely educational. There are two accounts by default, root (password
p4ssw0rd!) and michaelneu (password
password). If you just want to take a quick look around, feel free to use those two.
tweetr is built on node.js, so you'll need to install its dependencies first:
$ yarn install
All external services in tweetr (e.g. Cloudinary for image uploads and MongoDB for storage) need to be configured using environment variables:
||a MongoDB connection uri, something like
||the name of your Cloudinary cloud|
||your Cloudinary api key|
||your Cloudinary api passphrase|
||a passphrase for JWT tokens (generated if not present)|
||a passphrase for cookies (generated if not present)|
||the port tweetr should listen on (defaults to 8080)|
When running tweetr, you need to decide which context you want to start it in:
dev: no template-caching,
isSecurenot set for
hapi-auth-cookie, no seeding
When tweetr is started in
dev context, all MongoDB collections will be dropped and default data will be seeded.
tweetr comes with a set of handy scripts built-in:
clean: deletes build artifacts
dev: runs an auto-restarting dev-server without building tweetr
test: runs all tests from the test directory
tweetr is released under the MIT license.