ProjectsPlayTales

- React
 - Tailwind CSS
 - TypeScript
 - Node
 - Postgres
 - Docker
 
What is PlayTales?
PlayTales is a full-stack ecommerce store for purchasing story-driven games.
Why Did You Build It?
I built this project to better understand modern full-stack systems. I wanted to demonstrate my ability to design and implement a web application from end to end by following modern best practices. It required a strong understanding of various programming languages, frameworks, and tools, as well as the ability to integrate them seamlessly.
A short list of some of the concepts and patterns I have implemented:
- Pagination (UI & API)
 - Token-based Authentication (JWTs)
 - Secure User Session Management (Cookies)
 - Data Modelling (Postgres + Prisma ORM)
 - Complex State Management using React's Context API
 - Queries and Mutations (React Query)
 - Containerization (Docker)
 
My goal is to use this project idea as a basis to build on when learning new things. For example, to learn Vue, I can rewrite the frontend in Vue while keeping the Node backend; to learn Spring in depth, I can rewrite the backend in Spring while keeping the existing frontend and so on. I have already used it to learn Docker by containerizing the project to be deployable anywhere.
How Did You Build It?
I chose React and Tailwind CSS to build a dynamic UI. I implemented a backend using the MVC architecture in Node.js and Express.js to create API endpoints that handle different tasks such as product fetching, searching and user authentication. Furthermore, Using Prisma ORM, I designed a Postgres database schema and used its client in the different endpoints to build type-safe queries. I also implemented an authentication system using JSON Web Tokens (JWTs) and cookies.
I used other libraries from the React ecosystem for client-side actions that improve the user experience: React Router for routing & React Query for data fetching.
What Tools Did You Use?
- Frontend: 
React,TypeScript,Tailwind CSS,React Router,React Query - Backend: 
Node,Express,Postgres,Prisma - Deployment: 
Vercel,Render,Docker