Project for Intelligent Jerry Team, everything have been discussed on chat, detailed requirements have been shared.
It is supposed to be a browser-based webmail client (similar to roundcube or other client). That would be a part (module) of our system which will provide the functionality of the mailbox and allow for:
• configuration/downloading/sending messages
• filtering messages
• handling footnote
• configuration of the webmail client with email account e.g. protocols (IMAP, SMTP, POP3) and certificates (SSL, TLS) and ports (e.g. 110/ 25 etc.)
This is a basic and simple description of this module, we have shared a detailed requirement file which we were sent on chat.
Technical requirements for a module:
- Laravel 5.6+
- Php 7.2
- Postgresql 10
- Separate scheme for database for module
- L5 - Swagger 2
- application should be presented as package to Laravel (e.g.
[login to view URL], [login to view URL])
- Package is supposed to work in application using Laravel passport, so it has to share all of its functionality through REST API
- Frontend must be done in React, we will provide you a set of prepared components. Our system frontend is programmed in React. You will get components for this module (e.g. forms/tabs/inputs/tables etc.) with those you will be able to program frontend for this package. We will also provide you a module as a example, so you could treat it as a pattern when creating frontend. Exact documentation which explains the functionality and installation process of the package should be presented in README file.
- In order to create a basic structure of the package you need to use this tool: [login to view URL]
- You should use ELOQUENT. In order to control data returned by API you can use collections.
- Your job is to prepare the package which will work in our application.
You manage database with the use of migrations (creation, deleting, adding tables and columns). All of the data that you could need you can get through API (we will provide you a domain/api/documentation ). Our application shares API and so has to do your package that you are developing so it could work in our application (endpoints). Frontend written in React connects to API shared by our app, that's why your package would have to share it's API as well.
Laravel passport is already installed in our app so all you have to do is use it in your package.