Reddit Timer finds the best time to post on a subreddit by fetching the top 500 posts from a subreddit you provide and displaying those posts within a weekday heatmap, where posts are sorted into hours based on their creation time.
The project is available in one of the courses by Profy.dev. The course leaves the tech stack and implementation details up to the developer and simulates real-world workflows through GitHub, ClickUp (a Kanban board), and Figma.
Tasks are broken up into user story acceptance criteria and designs can be referenced through shared Figma files. Pull requests are created per task and are often reviewed by Johannes Kettmann, a senior full-stack developer and creator of Profy.dev.
- Test use cases. I wrote some E2E tests for the subreddit search page.
- Use Mock Service Worker to create handlers that return mocked responses for use in testing.
- Asynchronous tests are tricky. Tests can timeout before execution has finished, requiring the developer to set the
timeout
duration themselves. - Days and hours can be represented with numbers and it's important to notice this because it simplifies a number of operations around that data.
- CSS grid can sometimes be a more favorable option over CSS flex. Both the heatmap and posts table use CSS grids.
- Use GitHub's commenting tools within a context of a pull request to discuss potential solutions inline.
- Bootstrapped with Create React App
- Styles with Styled Components
- Routing with React Router
- Testing tools with Testing Library
- API mocking with Mock Service Worker
# Install dependencies
$ yarn install
# Start dev server at localhost:3000
$ yarn start
# Build for prod
$ yarn build
# Start test runner
$ yarn test