Back

CHOSUR

An e-commerce site built in one week with the circular Loop feature, Google authentication and Stripe payments, deployed self-hosted.

NextJS
TypeScript
PostgreSQL
Prisma
Stripe
NextAuth
Docker
Coolify
DevOps

CHOSUR is an e-commerce site built in just one week, from design to deployment. The specifications required integrating a social & circular economy (ESS) system, and I chose to push the circular approach further with the Loop feature, dedicated to reselling and refurbishing sneakers.

Context

The goal was to deliver a complete shop, able to handle a footwear catalog, secure orders and fine-grained user management. Three roles coexist:

  • Customer: browse the catalog, buy and submit pairs through Loop.
  • Seller: manage stock, orders and follow up on customer returns.
  • Admin: oversee everything, moderate Loop submissions and adjust the product strategy.

The constraint of implementing an ESS module drove the creation of Loop, to encourage second-hand purchases and extend the lifespan of products.

Key features

  • Complete e-commerce catalog: product pages, variants and real-time stock management.
  • Secure checkout with Stripe Payment Intents, webhooks and status handling.
  • Google authentication via NextAuth, with roles persisted in the database.
  • Unified back office for sellers and admins with access to orders, users and inventories.
  • Loop process:
    • Customers submit pairs.
    • Review by the CHOSUR team and a choice between refurbishment or material recovery.
    • Automatic calculation of customer commissions and credit tracking (€10 for every ten recycled pairs).
    • Email notifications on approvals or confirmation requests.

Technical architecture

  • Frontend & backend: NextJS 15 (App Router) in TypeScript, UI based on shadcn/ui and Framer Motion for animations.
  • Database: PostgreSQL orchestrated with Prisma ORM for a strict, typed schema.
  • Containerization: Docker and docker-compose to easily reproduce the environment (app, database, queue).
  • Deployment: self-hosted Coolify, custom continuous integration, secure exposure through Cloudflare Tunnel.
  • Infrastructure: DNS management, SSL certificates and service monitoring.

My role

I handled the entire development:

  • Designing the frontend (catalog, purchase flow, back office) with Tailwind CSS and shadcn components.
  • Building the NextJS backend (App Router routes, REST API / Route Handlers, Zod validation).
  • Full integration of NextAuth with Google OAuth and role management (customer, seller, admin).
  • Implementing Stripe payments, creating Payment Intents, secure webhooks and order status synchronization.
  • Building the Loop module, from the forms to the approval workflows on the back office side.
  • DevOps & sysadmin: Docker configuration, deployment on Coolify, DNS management, Cloudflare tunnels, log supervision and PostgreSQL backups.

Challenges

  • Keeping up a sustained pace to ship a complete e-commerce site in 7 days without sacrificing code quality.
  • Securing Stripe flows (webhook signatures, idempotency) to avoid duplicate orders.
  • Industrializing the Loop process: modeling pair states, approvals and email follow-ups.
  • Automating deployment on a self-hosted stack while guaranteeing certificates and availability.

Results

  • Live and accessible site: https://chosur.fr
  • Loop process adopted to extend the life of sneakers and meet the ESS requirement.
  • A single back office for the team (sellers & admins) providing a global view of orders, stock and users.
  • Infrastructure mastered end to end, from the PostgreSQL database to the Cloudflare reverse proxy.

CHOSUR demonstrates my ability to deliver a complete product combining frontend, backend, payments and DevOps, all while meeting a tight deadline and a circular vision of e-commerce.

Image of CHOSUR

Completed on

Monday 22 September 2025

Time spent

60 hours

Get in touch

Want to talk about a project, an opportunity or my profile? Send me a message.

Built with ❤️ (and also with NextJS and TypeScript) © 2025-2026 Quentin ROBERT. All rights reserved.