Créer une mini web app (back-end + front-end dans les technologies de ton choix) contenant:
- une page listing (de vidéos / produits / utilisateurs, à toi de choisir) avec possibilité de filtrer la liste selon 3 à 4 filtres différents.
- une page de détail des videos / produits... Par exemple, si c'est une vidéo, un Embed youtube avec une description et l'affichage des critères utilisés dans les filtres suffirait.
I choose for this test to build a serverless application. I used in this test the new library Prisma (2.beta) in association with Nest.Js, GraphQL Nexus and tailwindCss.
A second server has been developed next to this app to acknowledge my capacity to develop both types of app.
You can find the app in production at this url : https://tractr.vercel.app/ This app host serverless functions, but you can find a second server host in a docker container at this url https://tractr-docker-graphql.rossiaud.net/graphql
You can choose on which server your requests go via the app form. The both servers implement the same function and are linked to the same database. The second implemetation code is hostes here: https://github.com/floross/tractr-docker-graphql
npx prisma migrate save --name '<YOUR_NAME>' --experimental
npx prisma migrate up --experimental
yarn generate
yarn dev
yarn build
yarn start
yarn lint
yarn seed
The UserList
page is built with NextJS ssr mode and the UserDetail
page is built with NextJS static generation. With this type of app we should only use the static generation, but I choosed the ssr mode page as a proof of concept.
- Write unit and integration test
- Split and normalize form components
- Use a global state management (promising one is Recoil.js)
- -> Keep track of the filtered params accros the pages
- Write beautiful error, loading and no users components
- Make common code between
tractr-docker-server
andtractr
(prisma model and server call call) - Manage locales (text and date)
- Add more documentation and comments