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