TMStats is a medal tracker that shows overview of all Trackmania medals an user achieved. The website allows user to share campaign, weekly, or daily maps medals with anyone.
Project focuses on multiple aspects and features:
As of right now, project has no business model and is fully free and open-sourced. Project generates expenses, and business model may be added in the future.
TMStats uses multiple frontend and backend technologies with focus of simplifying the development. Main focus of tech stack in this project is to make development fast and fun, instead of making it scalable and reliable.
Frontend:
npm installnpm run devBackend:
You only need to spin-up backend if you man on backend changes. For frontend changes, you can skip this step as project is connected to production backend instance.
Make sure your
.envfile_APP_FUNCTIONS_RUNTIMESvariable includesdeno-2.0runtime. This runtime is used by all functions in this project. Changes to.envare applied using commanddocker-compose up -d.
tmStatsappwrite loginappwrite push collectionappwrite push functionsTo prepare your changes from your Appwrite instance database to production one:
appwrite init collectionTo create a new function:
appwrite init functionMake sure you create functions using
deno-2.0runtime.
Feel free to do manual changes to appwrite.json if you are familiar with this file.
Frontend:
npm installnpm run buildFrontend build does not use any special environment variables.
Backend:
appwrite push collectionappwrite push functionEverything you need to build a Svelte project, powered by sv.
If you're seeing this, you've probably already done this step. Congrats!
# create a new project in the current directory
npx sv create
# create a new project in my-app
npx sv create my-app
Once you've created a project and installed dependencies with npm install (or pnpm install or yarn), start a development server:
npm run dev
# or start the server and open the app in a new browser tab
npm run dev -- --open
To create a production version of your app:
npm run build
You can preview the production build with npm run preview.
To deploy your app, you may need to install an adapter for your target environment.