Make sure you run this application with the following tech stack.
- NestJS
- React
- MySQL
Please implement web application which is able to show murmur(=tweet) by user. (this application is similar to Twitter)
- The user can follow other users.
- By following, a list of murmurs posted by other users is displayed in the timeline.
- The user can post murmur as many times as he wants.
- Only the user who posted can delete his murmur.
- The user can add LIKE to another person's murmur.
- [optional] User authentication.
There are two sample tables in this application. Please consider and add columns to below tables. Further more I think you need more tables, so it's possible to add new tables depending on below specification.
e.g.
- murmurs
- users
Please implement REST API. There are three sample endpoints below. I think you need more endpoints, so you add more endpoints as needed.
e.g.
[GET] /api/murmurs/[POST] /api/me/murmurs/[DELETE] /api/me/murmurs/:id/
Please implement below function using React. If you want to add new function after complete to implement below function, it's possible to add and we evaluate your original function.
- Timeline
- List of Murmur information (e.g. text, LIKE count)
- LIKE button each murmur.
- Show 10 murmur per page. (need to implement pagination)
- Murmur Detail
- Murmur Information (e.g. text, LIKE count)
- Own User Detail
- User information (e.g. name, followCount, followedCount)
- List of own murmurs
- Button for delete a murmur
- Other User Detail
- User information (e.g. name, followCount, followedCount)
- List of the user's murmurs
- You can proceed with the implementation freely.
- Of course, you can also search the Web or refer to the books you have.
- The deadline is 5 days after the assignment is handed over. The date and time will be announced separately.
- Please aim to implement all the features in client and backend. CSS is not evaluated, so the minimum design style is fine.
- You can ask any questions about the content. If any question, please send email to (keita.ojima@venturas-bd.com) (salvana.ahmed@venturas-bd.com) , (uedayoriko@venturas-bd.com). (sohana.shomi@venturas-bd.com). (rahat.redwanul@venturas-bd.com). Please note that I do not guarantee an immediate reply.
- Download
webapp_test.zipfrom email. - Create repository for your private GitHub account and push unzipped files to main branch.
- Give the administrator privileges of the repository to the following Github id.
- ojimac
- Create
developbranch from main. - Create the feature branch for your develop branch, submit a pull request as appropriate, and merge it into your develop branch.
- When development is complete, create a Pull request from develop branch to main branch.
In the pull request overview, include the following:
- Appeal Points
- Implemented Features
- Unimplemented Features
- Impressions
- Typescript
- /src -> Frontend (React)
- /server -> Backend (NestJS)
- /db -> Database (MySQL 8.x)
It is assumed that node(v20.x.x), npm and yarn are installed. The ability to build a development environment is also the subject of this test, so even if an error occurs, please resolve it on your own.
- cd db && docker compose build
- docker compose up -d
- cd server && npm install
- npm run start:dev
- cd src && yarn install
- yarn dev
- You access to http://localhost:3000/
- It's success if render html.