🧰 Tech Stack
🛠️ Setup Server
- Setup Appwrite server
- Create project
almostGist
- Install Appwrite CLI
- Login with
appwrite login
- Enter
cd backend
- Deploy database structure with
appwrite deploy collection
- Deploy database seeds with
sh seed.sh
- Deploy functions with
appwrite deploy function
- Set variables on deployed functions. There is
backend/functions
folder for each function. They all haveREADME.md
describing what variables they need - Setup
GitHub
OAuth provider
👀 Setup Client
- Install libarries
npm install
- Update
endpoint
inservices/appwrite.ts
(Appwrite endpoint from server setup) - Start server
npm run dev
🚨 Setup Moderation
- Tell your moderator to create an account (sign in with GitHub)
- Add user to
Moderators
team. They will be able to edit and delete all gists, comments and reactions
🚀 Deploy client
- Deploy frontend and backend on the same domain. For example,
myapp.com
andappwrite.myapp.com
- Add frontend hostname as a platform in Appwrite project
🤝 Contributing
To contribute to frontend, make sure to use the Geist UI design system. Also, make sure to use TanStack Query for state management.
When contributing to backend-related logic, make sure to sync-up backend/appwrite.json
by running the appwrite init
commands in the backend
folder.