Skip to main content
Get your CricTalk development environment set up and run your first cricket discussion platform.

Prerequisites

Before you begin, ensure you have the following installed:
  • Node.js 18.x or later
  • npm, yarn, or pnpm package manager
  • Expo CLI for React Native development
  • Appwrite account for backend services
  • iOS Simulator (macOS) or Android Emulator for testing
CricTalk is a mobile application built with React Native and Expo. You’ll need either an iOS Simulator, Android Emulator, or the Expo Go app on your physical device for testing.

Installation

1

Clone the repository

Clone the CricTalk repository to your local machine:
git clone https://github.com/swapnasahoo/cric-talk.git
cd cric-talk
2

Install dependencies

Install the required npm packages:
npm install
This will install all dependencies including:
  • React Native 0.81.5 and Expo SDK 54
  • Appwrite SDK for React Native
  • NativeWind for styling
  • Zustand for state management
  • Navigation and UI libraries
3

Configure Appwrite backend

Create a .env.local file in the project root by copying the example:
cp .env.example .env.local
Update .env.local with your Appwrite credentials:
# Appwrite Core
EXPO_PUBLIC_APPWRITE_API_ENDPOINT=https://cloud.appwrite.io/v1
EXPO_PUBLIC_APPWRITE_PROJECT_ID=your-project-id
EXPO_PUBLIC_APPWRITE_CRIC_TALK_DATABASE_ID=your-database-id

# Posts
EXPO_PUBLIC_APPWRITE_POSTS_TABLE_ID=your-posts-table-id
EXPO_PUBLIC_APPWRITE_POSTS_GUARD_FUNCTION_ID=your-posts-function-id
EXPO_PUBLIC_APPWRITE_COMMENTS_TABLE_ID=your-comments-table-id
EXPO_PUBLIC_APPWRITE_COMMENTS_GUARD_FUNCTION_ID=your-comments-function-id

# Rooms
EXPO_PUBLIC_APPWRITE_ROOMS_GUARD_FUNCTION_ID=your-rooms-function-id
EXPO_PUBLIC_APPWRITE_ROOMS_TABLE_ID=your-rooms-table-id
EXPO_PUBLIC_APPWRITE_ROOM_MESSAGE_GUARD_FUNCTION_ID=your-messages-function-id
EXPO_PUBLIC_APPWRITE_ROOM_MESSAGE_TABLE_ID=your-messages-table-id

# Users
EXPO_PUBLIC_APPWRITE_USERS_TABLE_ID=your-users-table-id
EXPO_PUBLIC_APPWRITE_USER_PUSH_TOKEN_GUARD_FUNCTION_ID=your-token-function-id
EXPO_PUBLIC_APPWRITE_LEADERBOARD_GUARD_FUNCTION_ID=your-leaderboard-function-id

# Notifications
EXPO_PUBLIC_NOTIFICATIONS_GUARD_FUNCTION_ID=your-notifications-function-id
Never commit your .env.local file to version control. It contains sensitive credentials.
4

Set up Appwrite project

You’ll need to set up the Appwrite backend infrastructure:
  1. Create an Appwrite project in your Appwrite console
  2. Create a database named “cric_talk”
  3. Set up the required tables (posts, comments, rooms, roomMessages, users, notifications, rateLimit)
  4. Deploy the guard functions from the functions/ directory
  5. Configure authentication methods (email/password recommended)
Reference the database schema and architecture documentation for detailed setup instructions.

Run the application

Start the Expo development server:
npm start
The Expo developer tools will open in your browser. From there, you can:
  • Press i to open iOS Simulator
  • Press a to open Android Emulator
  • Scan the QR code with Expo Go app on your physical device

Create your first post

Once the app is running, try creating your first cricket post:
1

Sign up for an account

On the login screen, tap Create Account and fill in your details:
  • Choose a username
  • Enter your email address
  • Create a secure password
After signing up, you’ll be automatically logged in.
2

Navigate to the home feed

You’ll land on the home screen showing the posts feed. This is where all cricket discussions appear.
3

Create a post

Tap the orange + button in the bottom-right corner to open the post creation modal.In the modal:
  1. Write your cricket thoughts (up to 512 characters)
  2. Optionally attach up to 4 images
  3. Tap Post to publish
Your post will appear at the top of the feed!
4

Interact with posts

Try engaging with posts in the feed:
  • Like posts by tapping the heart icon
  • Comment by tapping the comment icon and writing your thoughts
  • View post details by tapping on the post card
  • Search for specific topics using the search bar

Join a match room

Experience real-time cricket discussions in match rooms:
1

Navigate to rooms

Tap the Rooms tab in the bottom navigation bar.
2

Create a match room

Tap the orange + button to create a new match room:
  1. Select teams - Choose the competing teams
  2. Set match details:
    • Match type (ODI, TEST, or T20)
    • Start time
    • Optional end time
  3. Configure settings - Enable/disable room locking
  4. Tap Create Room
3

Join the conversation

Tap on any room to enter it and start chatting in real-time with other cricket fans!Messages appear instantly, and your message count contributes to your leaderboard ranking.

Check the leaderboard

See where you rank among cricket fans:
  1. From the Rooms screen, tap the back arrow to reveal the leaderboard option
  2. Tap Leaderboard to view the top 10 most active users
  3. Your ranking is based on your total message count across all rooms
  4. Keep participating in discussions to climb the ranks!

Next steps

Explore features

Learn about all the features CricTalk offers

User guide

Detailed guides on using the platform

Architecture

Understand CricTalk’s technical architecture

API reference

Explore the service APIs and hooks
Join active match rooms during live cricket matches for the best experience!

Build docs developers (and LLMs) love