Sked social is an aggregator of social media post system. Here we are going to do simple version of post list page. This coding test is for frontend and fullstack respectively. Please read the following instruction carefully. Expected test could be finished in 1 hour. Welcome to raise any question.
yarn install
or
npm iyarn run client-devto launch web client http://localhost:3000
yarn run server-devto launch server http://localhost:3001
You can also see "Hello world" at http://localhost:3001/posts
yarn run client-testto test all test cases in /src
yarn run server-testto test all test cases in /server/tests
a) Posts show on the right-hand side. Each post has
- social media account image(with initial), name and icon
- image to publish
- caption
- timestamp on the top-left
b) Social media account filter shows on the left-hand side including
- social media account image, name and icon
- checkbox for individual social media account. When checkbox is checked, corresponding posts are shown on the right-hand side
- Additional "Select all accounts" checkbox to show all posts
c) Test
- Comprehensive unit tests are required
- At least one integration test (or e2e test). You can choose from selenium, cypress or other libraries
d) Post data can be loaded from /src/controllers/posts.js
a) Api return list of posts
b) Use /server/src/models/post.model.js to mock loading posts from db
c) Test
- Unit tests are required
- At least one integration test is required
a) Posts show on the right-hand side. Each post has
- social media account image(with initial), name and icon
- image to publish
- caption
- timestamp on the top-left
b) Post data should be loaded via GET /posts from server
c) At least one unit test is required
/srcroot of client code/componentscomponents/controllerscontrollers regarding MVC- for tests files, you can put same folder or create another one
/serverroot of server code/src/controllerscontrollers for routes/src/servicesservices/src/modlesmodels to access DB/testsroot of server tests
/publicroot of public assets
- Image assets are already put into
/public/images, basically web client can load assets publicly - It only provides initial for social media account image. You can use background color with "initial" character as image alternative.
- Submitted code should be linted and prettified
- You can add any library for what you need. e.g.
Typescript,Material UI,Reduxand so on - (important) Need to think about what else library can improve code structure. That would be discussion in the next round of interview
- Can specify future works if you don't have time for your implementation

