Web App – PHP (Laravel + Vue.js) OR Node.js

THE PROJECT

We need an amazing MVP for a database-driven web-based application. It must be built using the latest versions of Laravel + Vue.js + Bulma, OR Node.js and strictly following S.O.L.I.D methodology. The app is in the EdTech space and involves foreign language vocabulary study.

Clean, easy to understand and follow code. Flexible and maintainable.

The following must be strictly followed: http://www.laravelbestpractices.com.

We also need UX and UI.

Deployment of the app in AWS Lightsail.

GENERAL REQUIREMENTS

1. Background

We previously hired a software engineer to complete this project. Unfortunately, he kept billing us for many weeks until we realized he had not done anything.

We lost all the money we paid him. We missed important deadlines and embarrassed ourselves before investors. We suffered substantial financial and reputational loss.

As a result, this time we want to adhere to some strict criteria to prevent this from happening again.

2. Fixed Price, Non-Divisibility, and One Milestone

This is a non-divisible project. In order for the project to be considered successfully completed, we need to receive a 100% completed and fully functional deliverable built to the exact specifications of this brief and on time.

The contract is for the purchase of a fully completed deliverable, not for the purchase of hours. Therefore, you are not entitled to payment for incomplete or partially completed work, or simply for the fact that you have worked. You are entitled to payment if and only if you successfully complete the project.

“If you set out to climb a mountain, however high you climb, you have failed if you cannot reach the top.” – William Golding

The project must be done on a fixed price with one milestone.

Timeline and deadlines
Strict adherence to deadlines is imperative. Time is of the essence.

3. Prior To Commencement of Coding

(1)

Thoroughly familiarize yourself with the brief, the requirements, and the features and functionality

(2)

If there is anything that is unclear – ask questions! Do not assume – ALWAYS ask.

(3)

I will give you several other apps. They are completely unrelated to our app BUT some elements are strikingly similar. You have to create a free trial account with them and explore the features I point out. Then we will discuss those points to make sure you understand them correctly. This will help you tremendously to understand our app.

(4)

Database selection

Carefully and thoughtfully analyze the business logic, the type of data, and the app functionality and determine the most appropriate database.

First, make a determination about the type of database to use: relational database or non-relational database.

Second, make a determination about the specific database.

If relational, MySQL or MariaDB

If non-relational, MongoDB or something else

We need a thorough, comprehensive, and well-reasoned analysis about the choice made.

(5)

Server selection:

Apache
Nginx
Cloud
Serverless on AWS Lambda: https://bref.sh/docs/frameworks/laravel.html

(6)

Technology stack component diagram

You must create a detailed technology stack component diagram that includes all components and how they interact.

Examples:

https://www.dropbox.com/s/8jo5q5si4qbha87/symfony-php-framework-diagram-propel-orm-1272×755.jpg?dl=0

https://cloudcraft.co

4. After Commencement of Coding

(1)

Use Jira

(2)

While in development, a live version of the app must be put on a staging server and we must be able to see the progress at least once per day.

(3)

Connect code to functionality: we must see what every piece of code does

(4)

Building the core functionality requires an iterative process. A crucial aspect of this process is our ability to constantly provide input and feedback to the developer at every stage. We must have the option to provide constant feedback and input.

In addition, iterative approach means that the development must accommodate slight changes that may be required during development.

(5)

We must receive daily progress reports that clearly show what code has been written and what specific features that code solves.
The reports must clearly demonstrate that each day we are making steady progress towards properly implementing all of the features.