juliantyart
juliantyart is my personal art website, created to expand my web presence and provide a professional platform for selling my artwork online. The project was also an opportunity to gain hands-on experience integrating Stripe as a payment system, ensuring secure and reliable transactions for both shop purchases and custom commissions. The site is built with Next.js, uses Prisma and PostgreSQL for its database, and is written in TypeScript for type safety and maintainability.
Source Code & Demo
Key Features
- Fully functional shop for artwork
- Custom commissions flow for personalized art requests
Code Highlights & Design Choices
Process & Workflow
The development process began by focusing on the two main features: the shop and the commissions flow. Once these core functionalities were established, I built the rest of the site around them, ensuring a cohesive user experience and robust backend integration.
Challenges & Solutions
Integrating Stripe for payments and writing effective tests for Next.js posed significant challenges. Integration tests were particularly difficult due to Next.js's routing and server-generated content.
I overcame these challenges by thoroughly reading Stripe's documentation, experimenting with test environments, and adapting my testing strategy to fit Next.js's architecture. This included using mocks and focusing on end-to-end flows where possible.
Outcomes & Impact
The project provided a professional platform for my art, streamlined the process of selling and accepting commissions, and improved my skills in payment integration and full-stack development.
What I Learned
I learned how to integrate Stripe for secure payments and how to approach testing in a Next.js environment, especially for integration and end-to-end scenarios.