https://github.com/mizrael/barfer
Barfer is a simple Twitter-like web-app I created for just for learning purposes.
https://github.com/mizrael/barfer
Last synced: 7 months ago
JSON representation
Barfer is a simple Twitter-like web-app I created for just for learning purposes.
- Host: GitHub
- URL: https://github.com/mizrael/barfer
- Owner: mizrael
- License: mit
- Created: 2017-09-18T19:16:28.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2017-12-02T22:22:23.000Z (almost 8 years ago)
- Last Synced: 2025-01-26T21:51:19.043Z (9 months ago)
- Language: TypeScript
- Homepage: https://barfer.azurewebsites.net/
- Size: 917 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Barfer [](https://travis-ci.org/mizrael/barfer)
Barfer is a Twitter clone, plain and simple. I started this project just for fun and for learning purpose: I was looking for a way to improve my NodeJS skills and to learn how to use RabbitMQ.I have used NodeJS with Typescript to write all the projects, with a CQRS + Publish/Subscribe + Multiservices architecture to display barfs (tweets), user details and the necessary interactions.
There are some external services I have used to speedup the development and to obtain certain features:
* Mongodb hosted on [MongoDB Atlas](https://www.mongodb.com/cloud/atlas)
* RabbitMQ hosted on [Cloudamqp](https://www.cloudamqp.com) to handle events and messages
* [Auth0](https://auth0.com/) to handle authentication.
* [Travis CI](https://travis-ci.org) to handle the deployment.
* [Azure](https://azure.microsoft.com/en-us/) as hosting platform.**I am perfectly aware** that the repository contains the connection strings. As said, this is a project written just for learning, I don't care much about the security, not at this stage.
All the services have been deployed on Azure, the web client can be found here: [https://barfer.azurewebsites.net/](https://barfer.azurewebsites.net/) .
### Build & Run
You can easily build the projects using the Gulp task `build:dev` which will also watch for changes. The `default` task is intented to be used for deployment only.A launch configuration for Visual Studio Code is provided to run all the projects, named `All services`.
### Tests
The unit and integration tests can be run using the standard `npm run test` command from the terminal. If you want to run just the unit tests, use `npm run unit`. For the integration tests instead, use `npm run integration`.### Roadmap
There's a bunch of features that I'm planning to add, more or less in this order:
* user interests
* barf tags
* search engine
* comments
* notifications