Over the next few weeks I am going to publish a series of posts related to creation of a close to real world system using EGF2 framework. In the posts I will outline what was done exactly in order to create and deploy the system. Content of the posts will then be reused as a Guide section of EGF2 documentation.
We will build a system pretty similar in functionality to instagram. The following features will be implemented:
- User registration, email verification, login and password reset.
- Every user will be able to upload an image with a text, we will call it a post. Creator of the post will be able to edit and delete it.
- Registered users will be able to comment on other users' posts. Comment creator will be able to edit and remove her/his comment.
- It will be possible for any user to see other users' collection of posts.
- Registered users will be able to follow other users
- User will be able to see a timeline - a collection of posts created by users that this user follows, arranged by time of creation.
- Any user will be able to search for other users and posts using free text query
- Registered user will be able to mark a post as offensive
- Admin users will be able to see a list of posts marked as offensive and delete such posts
While pretty compact, this system will allow us to work with the following aspects of the EGF2:
- User authentication
- Different user roles
- File operations
- Email notifications
- Business logic rules
- Domain modelling
We will start with domain modelling, proceed with EGF2 deployment and necessary back-end changes and will create a web app that will work with the system. A bit later we will also create iOS and Android clients for it.