Skip to content

Tambulab/this-is-uganda

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

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

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •