Description
The goal is to provide RESTful API (written in Java) and some UI (React.js is a plus) that will
allow users to collaborate on text files (*.txt) in a way similar to how VCS (git/svn) works. You
can use any libraries to create the application.
Functional requirements
Here is the list of operations that user should be able to perform:
Upload new *.txt file (max 5MB)
Update the content of any txt file uploaded to the service
View history of changes for the particular file
Revert file back to some revision
All API endpoints should return JSON data in response
Other requirements
After revert - file’s revisions should be cleared until the current one (e.g. if file has
revisions: 1,2,3,4,5 and user reverts to revision 3, new “revision tree” should look like:
1,2,3)
● Tests and input data validation are welcome, but not required
Files’ and users’ data should be stored in the database (NoSQL DBs are welcome)
No need to create any access restrictions - all users can access all files and perform all
operations
Results
Send an archive or link to the git/svn with the source code and how to start your application.