Frontend:
- Should I use a frontend framework with backend API for a single-page application? or use a standard web site with no distinction between frontend/backend.
- How will I handle mobile responsiveness of the html/css?
- How will I server css & js assets? Use a CDN or host them locally?
- Will I minify css & js?
Backend:
- What business requirements will I take into account when choosing a language/framework?
- Is speed and concurrency a must (perhaps choose Golang)? Or rapid prototyping and complex business logic (perhaps Ruby on Rails or Django)?
- Will I write a monolithic application or go for microservices?
- How important is security? Will my framework prevent vulnerabilities like XSS and SQL injection automatically?
- What web server should I use? What kind of scaling requirements do we have?
- How will we handle version control? What processes need to be put in place around deployment?
- How do we handle deployment?
Database:
- Relation SQL database or NoSQL?
- Are there any cases where I will want to de-normalise my data right away or should I wait
- How can I design my schema to be flexible yet still scalable?
- What columns need to be indexed?
Hosting:
- Use a cloud host? (AWS, Google, Azure...)
- Do we need dockerized deployments?
- Should we use kubernetes or a more managed solution?
- How important is vendor lock-in?
- How do we handle config secrets (like API keys)
- How do we handle changes in configuration (i.e. use Chef/Ansible/Terraform etc.)