🧰 Tech Stack

🛠️ Setup Server

  1. Setup Appwrite server
  2. Create project almostGist
  3. Install Appwrite CLI
  4. Login with appwrite login
  5. Enter cd backend
  6. Deploy database structure with appwrite deploy collection
  7. Deploy database seeds with sh seed.sh
  8. Deploy functions with appwrite deploy function
  9. Set variables on deployed functions. There is backend/functions folder for each function. They all have README.md describing what variables they need
  10. Setup GitHub OAuth provider

👀 Setup Client

  1. Install libarries npm install
  2. Update endpoint in services/appwrite.ts (Appwrite endpoint from server setup)
  3. Start server npm run dev

🚨 Setup Moderation

  1. Tell your moderator to create an account (sign in with GitHub)
  2. Add user to Moderators team. They will be able to edit and delete all gists, comments and reactions

🚀 Deploy client

  1. Deploy frontend and backend on the same domain. For example, myapp.com and appwrite.myapp.com
  2. 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.