-To begin with, I would draw a client-server architecture.
-I would mark Front-End development using Javascript React. I would use the React Native framework for the development of the mobile application on both Ios and Android. With this, we get a real native application, which will save us problems in its development. The ease and reuse of React components will allow us to continue improving and optimizing creation time and possible improvements for the future.
-For the Back-End, I would use Node.js together with Express. I would use Cookie-Parser and Express Sessions for authentication and token registration.
-I would use unit tests with jest with regular expressions for both the registration and login forms (email). Also, check correct data from the database with the user's profile.
2. Teams, skills and roles
2 Front-End developers with react, dividing the work between logical components and styled-components with React
UX / UI developer for planning and interface design working with Front-End developers
React Native developer for the move to mobile application
Back-End developer for audition system, database and deploy
Back-End Developer to manage the tokenizer
Blockchain Expert
Cybersecurity expert.
Project Manager to define work periods and organize teams.
(Note) It would be important for each developer to carry out their tests, but if necessary, a specialized web developer could be hired to pass them.
3. Culture and methodology
For the work methodology, I would maintain development in Github, working in branches and managed by the Project Manager.
The SCRUM subset of the AGILE methodology would be implemented to achieve goals in 2-week sprints.
In the first 6 periods of 15 days, the initial development of the application would be done, each team would have their part thinking about the total integration.
The next 2 periods would be the total integration of all parts and the launch of the application.