{"repo":"TheRealOwenRees/echecsfrance","free":true,"listed":false,"github":"https://github.com/TheRealOwenRees/echecsfrance","clone":"git clone https://github.com/TheRealOwenRees/echecsfrance.git","description":"A website displaying upcoming chess tournaments for the FFE on a map","language":"TypeScript","stars":12,"topics":["chess","echecs","france","leaflet","nextjs","tournament","tournoi"],"license":"GPL-3.0","category":"auth-billing-email","readme_excerpt":"Echecs France A website displaying upcoming chess tournaments for the FFE on a map Tech Stack This website is built in TypeScript using: - Next.js - Tailwind - MongoDB and is deployed on Vercel Dependencies - Leaflet - a Javascript library for interactive maps - Nodemailer - a module for Node.js applications to allow easy as cake email sending Required VSCode plugins - ESLint - Prettier - Code formatter Recommended VSCode plugins - Tailwind CSS IntelliSense - Tailwind Docs - Code Spell Checker (to avoid English spelling mistakes in the code) - Console Ninja (for easier debugging) User authentication Users may choose to create an account in order to receive notification of tournaments. The only personal information that we have to have is their email address, and so we've decided to use magic link's for user log on. This gives us only the information we need (the confirmed email address) and means that we don't have to store any other sensitive information at all (not even a hashed password). To handle user authentication we're using authjs. Locale handling The site is localised into French and UK English using next-intl. By default next-intl chooses the language to display by using, in priority, the URL prefix, a cookie and the accept-language header. When sending new tournament emails, we'd prefer to send them in the user's preferred locale. To do this we need to store then information on the user object in the database. Here's the workflow: 1. When the user tries to connect","default_branch":null,"files":null,"tree":[],"storefront":"/r/TheRealOwenRees","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/TheRealOwenRees/echecsfrance/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}