StakeUp is a mobile app designed to make friendly challenges between friends simple, engaging, and memorable. Whether you're competing in fitness goals (Who do more pushups this week?), game predictions (Will Arsenal win the UEFA Champions League?), or just simple stuff (Who won more League of Legends games?), StakeUp helps you initiate, track, and settle outcomes, ensuring no one forgets what’s at stake.
This repository contains the complete source code for both the mobile frontend and the backend server.
StakeUp is organized as a monorepo with both the client and server in one repository.
- Framework: React Native with Expo
- Language: TypeScript
- Navigation: React Navigation & Expo Router
- State Management: Zustand
- Backend Communication: Axios & Supabase Client
- Framework: Express.js
- Language: TypeScript
- Database & Auth: Supabase
- Runtime: Node.js
- Scheduled Jobs: node-cron
To get a local copy up and running, follow these simple steps.
- Node.js (v18 or newer recommended)
- npm or yarn
- A Supabase account for the database and authentication.
-
Clone the repo
git clone https://github.com/your_username/StakeUp.git cd StakeUp -
Set up the Backend
- Navigate to the backend directory
cd backend - Install NPM packages
npm install
- Create a
.envfile in thebackenddirectory by copying the example file.cp .env.example .env
- Add your Supabase project URL, Anon Key, and a JWT secret to the
.envfile.SUPABASE_URL=your_supabase_url SUPABASE_KEY=your_supabase_anon_key JWT_SECRET=your_super_secret_jwt_key
- Start the backend server.
The server will start on
npm run dev
http://localhost:3000(or your configured port).
- Navigate to the backend directory
-
Set up the Frontend
- Navigate to the frontend directory from the root.
cd ../frontend - Install NPM packages
npm install
- Start the Expo development server.
npx expo start
- Follow the instructions in the terminal to run the app on an iOS simulator, Android emulator, or on your physical device using the Expo Go app.
- Navigate to the frontend directory from the root.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt for more information.
Khoa Cao - cqnhatkhoa@gmail.com
Project Link: https://github.com/khoacao2k4/StakeUp



