The most common tasks faced by our [[software development]] team.
---
## Front-end
### React application
- setup router
- restrict some routes based on user roles
- setup state manager
- setup API manager
- or create generic solution for handling API requests
- implement i18n
- implement drag and drop functionality
- implement custom datetime picker
- implement dialog (modal) element without scroll/overflow issues
- implement autocomplete (select with search) with custom options rendering
- implement fully accessible data-grid according to W3C guide
### CSS specifics
- implement responsive designs
- import fonts from file
### 3rd party integrations
- implement 3rd party sign-in flow
### Module bundling
- setup module bundler
- configure to work with Typescript
- configure to import images
- configure to generate source maps
### Troubleshooting
- work with the developer tools
- elements inspector
- console
- debugger
- network
- find out that request failed with CORS violation in 20 sec
---
## Back-end
### APIs
- make a CRUD API that manipulate with a table in DB
- using ORM (can be direct SQL for more complex queries)
- making a good routing for easier future support
- guarding those APIs by login middlewares
### Async logic
- CRON jobs
- offloaded tasks or delayed calls
### 3rd party integrations
- logic that call 3rd party API
- logic that listen to webhooks
- Example: Google Oauth, Stripe (payment), Emails
### Support DB data
- write DB migrations when data structure has changed
- write data migrations when some data should be adjusted to changes or updated upon server startup
### Product specific
- implement product business logic
- perform data transformation