|
5 | 5 | [](https://styleci.io/repos/178824653) |
6 | 6 | [](LICENSE) |
7 | 7 |
|
| 8 | +## Description |
| 9 | + |
| 10 | +This is a learning goal [SPA](https://en.wikipedia.org/wiki/Single-page_application) mini-project which is much like real Twitter, but even better of course :) |
| 11 | + |
| 12 | +Core features: |
| 13 | + |
| 14 | +* Registration |
| 15 | +* Add tweets(or posts) |
| 16 | +* Add tweet's comments |
| 17 | +* Edit user's profile data |
| 18 | + |
| 19 | +*Main idea for this stage is to get better understanding of application backend/frontend codebase, |
| 20 | +what design patterns was used and how to solve some widespread data processing tasks. |
| 21 | +There is no need to deeply learn all tech stack that was used to built this app, |
| 22 | +but just get an idea of modern SPA web application architecture and tools that can help to built it.* |
| 23 | + |
| 24 | +## Technologies |
| 25 | + |
| 26 | +Backend: |
| 27 | + |
| 28 | +* PHP 7.2 || 7.3 |
| 29 | +* [Laravel 5.8](https://laravel.com) |
| 30 | +* [Docker](https://www.docker.com/) |
| 31 | +* [Docker-compose](https://docs.docker.com/compose/) |
| 32 | +* [Beanstalkd](https://github.com/beanstalkd/beanstalkd) - message queue (очередь сообщений для обработки тяжелых задач асинхронно) |
| 33 | +* [REST API](https://ru.wikipedia.org/wiki/REST) |
| 34 | +* [CORS](https://developer.mozilla.org/ru/docs/Web/HTTP/CORS) |
| 35 | +* [JWT](https://ru.wikipedia.org/wiki/JSON_Web_Token) tokens |
| 36 | +* Websockets and [Pusher](https://pusher.com/) service |
| 37 | + |
| 38 | +Frontend: |
| 39 | + |
| 40 | +* [Vue.js](https://vuejs.org/) framework |
| 41 | +* [vue-cli](https://cli.vuejs.org/) |
| 42 | +* [vue-router](https://router.vuejs.org/) |
| 43 | +* [vuex](https://vuex.vuejs.org/) |
| 44 | +* [Buefy](https://buefy.org/) UI framework |
| 45 | +* [pusher-js](https://github.com/pusher/pusher-js) |
| 46 | + |
| 47 | +Additional software which might be helpful |
| 48 | + |
| 49 | +* [Postman](https://www.getpostman.com/) (debug your backend api endpoints) |
| 50 | +* [Vue devtools](https://github.com/vuejs/vue-devtools) (debug your frontend components state) |
| 51 | +* [MySQL Workbench](https://www.mysql.com/products/workbench/) (database management tool) |
| 52 | +* [PHPStorm](https://www.jetbrains.com/phpstorm/) || [VSCode](https://code.visualstudio.com/) |
| 53 | + |
| 54 | +Github repository [https://github.com/BinaryStudioAcademy/thread-php](https://github.com/BinaryStudioAcademy/thread-php) |
| 55 | + |
| 56 | +Application link [https://bsa-thread.now.sh](https://bsa-thread.now.sh). |
| 57 | + |
| 58 | +Helpful articles or materials: |
| 59 | + |
| 60 | +* [Dependency Injection](https://designpatternsphp.readthedocs.io/en/latest/Structural/DependencyInjection/README.html) |
| 61 | +* [Repository pattern](https://designpatternsphp.readthedocs.io/en/latest/More/Repository/README.html) (*Repository\UserRepository.php*) |
| 62 | +* [Command pattern](https://designpatternsphp.readthedocs.io/en/latest/Behavioral/Command/README.html) (*Action\AddTweetAction.php*) |
| 63 | +* [DTO pattern](https://dzone.com/articles/how-to-manage-traffic-and-preserve-rankings-when-y) (*Action\AddTweetRequest.php*) |
| 64 | + |
| 65 | +## Tasks: |
| 66 | + |
| 67 | + |
8 | 68 | ## Install |
9 | 69 |
|
10 | 70 | Installation is described inside backend and frontend folders independently. |
|
0 commit comments