Skip to content

Latest commit

 

History

113 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🇺🇬 This is Uganda

A React Native CLI app built with the new architecture (TurboModules, Fabric, JSI, and NitroModules).
Explore Uganda’s beauty through modern mobile engineering practices.

React Native Yarn License: MIT

📑 Table of Contents

✨ Features

  • ⚡️ New React Native Architecture (TurboModules, Fabric Renderer, JSI, NitroModules).
  • 📱 Cross-platform: Android + iOS support.
  • 🧭 React Navigation for smooth app navigation.
  • ⚛️ Signals state management via @preact/signals-react.
  • 🔧 Strict TypeScript typing.
  • 🎨 Code style enforced with ESLint + Prettier.
  • 📂 Clear modular file structure.

🛠 Tech Stack

📋 Prerequisites

Make sure you have the following installed:

📦 Installation

Clone the repo and install dependencies:

git clone https://github.com/Tambulab/this-is-uganda.git
cd this-is-uganda
yarn install

Install iOS dependencies:

cd ios && pod install && cd ..

▶️ Running the App

Start the Metro bundler:

yarn start

Run on Android:

yarn android

Run on iOS:

yarn ios

🏗 Project Structure

For full details see file-structure.md. Key directories:

this-is-uganda/
├── android/        # Native Android code
├── ios/            # Native iOS code
├── src/            # App source code
│   ├── components/ # Shared components
│   ├── navigation/ # Navigation setup
│   ├── screens/    # Screen components
│   ├── state/      # Signals state management
│   └── utils/      # Helpers & utilities
├── App.tsx         # Entry point
└── ...

🧪 Testing

Run unit tests with:

yarn test

🎨 Linting & Formatting

Check linting issues:

yarn lint

Format code with Prettier:

yarn format

🐛 Troubleshooting

  • Metro bundler not starting? Clear the cache:

    yarn start --reset-cache
  • iOS pods not working? Run:

    cd ios && pod install --repo-update
  • Android build issues? Ensure you’ve installed the correct JDK + Android SDK.

Workflow

  1. Create a new branch for your work:

    git checkout -b feature/my-feature
  2. Make your changes and commit them with clear messages:

    git commit -m "Add: short description of change"
  3. Push your branch to the repo:

    git push origin feature/my-feature
  4. Open a Pull Request (PR) to merge your branch into dev.

Contribution Guidelines

  • Use descriptive branch names:

    • feature/awesome-feature
    • fix/bug-description
    • chore/dependency-update
  • Keep commits focused — avoid mixing unrelated changes.

  • Ensure code passes linting & tests before submitting.

  • Add yourself to the Contributors list with the All Contributors bot by commenting:

License

This project is licensed under the MIT License.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

louicoder
louicoder

💻
ssewilliam
ssewilliam

💻
tracykeeya
tracykeeya

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

About

Explore the country of Uganda using this mobile app

Resources

Code of conduct

Contributing

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages