The process of evolving a web application from the starting practice to the current state. A single project is being develop, revised, and evolved using different technology across the years.
Made by M Haidar Hanif from Catamyst. Haidar is the Founder and Mentor of Catamyst, helping people in web development, software engineering, interface design, product management, and tech business.
- Idea: Choosing the problem to solve
- Repository: Managing the source code and versions with Git and GitHub
- Design: Making the sketch/mockup/prototype for the UI and UX on Figma
- Documentation: Writing the scope or specification with Markdown
- HTML: Create the structure and deploy it to Vercel and Cloudflare
- CSS: Styling the app and using Tailwind CSS
- JavaScript: Creating interactivity especially a CRUD operation
- Node.js & npm: Using JavaScript libraries and its ecosystem
- TypeScript: Using a more type-safe code rules
- React: Creating component-based interface/view
- Remix: Create a React app with a client and server model
- API: Handle data request and response between client and server
- REST API
- GraphQL
- tRPC
- No client-server API
- Database: Data persistence
- Self-host: Prisma ORM & MySQL on PlanetScale
- Cloud-hosted: Kontenbase vs Nhost
Things to cover with extra time:
- Testing: Checking the expectation of the features
- Monitoring: Making sure the website/app is running fine
- Analytics: Tracking the visitors or users
- Other things to discuss
Things not covered:
- Complex state mangement: Redux, MobX, XState