MCPcopy Index your code
hub / github.com/SkyzohKey/M-Droid

github.com/SkyzohKey/M-Droid @v0.5.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.5.4 ↗ · + Follow
140 symbols 293 edges 68 files 1 documented · 1% updated 7y agov0.5.4 · 2018-01-11★ 7512 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

M-Droid logo

Build Status

Unofficial Material Designed client for F-Droid!

This is M-Droid, a drop-in replacement for the F-Droid client. It provides the same features but in a Material Design way that is both nice to see and easy to use.

This project started because I hate the new F-Droid UI while still loving the actual software. And as I like React-Native, this is a good project for me.

Become a patron

See the Medium story - See the Patreon post

Table of Contents

Features

MDroid attempts to mimic F-Droid features as much as possible, in a Material design fashion. Here's a (not ordered) list of actual MDroid's features:

  • Clean UI following the Material Design specifications
  • Fetching multiple repositories
  • Curated main screen showing somes apps from each categories
  • View app's details
  • Download and install any app from repositories
  • Search for apps (fuzzy search, super fast)
  • Manage (add, edit, delete) your repositories

How it works?

Basically you add your repositories of choice (along with the F-Droid, F-Droid Archive & Guardian ones) then the client will send some GET requests to actually get the content of the https://${repoBaseUrl}/index.xml file who's contains the repo.

Then it parse that file by converting the XML to JSON format, for better code efficiency. Cache the parsed stuffs and display the informations in a great way for the user.

That's Simple (c).

Screenshots

The screenshots may not be up-to-date. This is currently an early stage for the project and I'll try to update screenshots as many as possible.

2nd step: Prepare the UI! 3rd step: Display apps informations! 3rd step: moar informations! 3rd-bis step: even mooooar informations! 4th step: Install the app! 5th step: Search (fuzzy)! 6th step: Repositories managment

Default repositories

Here is the list of included repositories by default. There is no way to change which repositories the app will fetch for now, but that's definitly a planned feature.

Contributing

This is a fairly simple project so I doubt anyone is willing to contribute, but if that's the case it super simple. You can either help to catch bugs and report them, send a pull request (ESLint is configured) or just show some interest in the project!

Compile & run

This is a React Native project and by so it is super simple to build&run. Just do the following in a shell:

# Get the source & dependencies
$ git clone https://github.com/SkyzohKey/M-Droid.git
$ cd M-Droid
$ yarn # or npm install

# Run the packager
$ react-native start

# Start the app on a simulator/device
$ react-native run-android --variant=debug # or production for enhanced perfs.

Donations

I currently work on this project during my free-time, but also during my work-time. As I'm my own boss, I take work time to work on personnal projects that I really believes in. But during this time, I don't win any money. I'm not doing that for money.

Anyway, if you consider support me, you can pay me a pack of Monster's cans for moore productive coding, :D.

I accept donations in form of Monero, Bitcoin, Etherum & IntenseCoin (in that order). You can also Patreon me !

Become a patron

1. Monero (XMR): 47XpVhUHahViCZHuZPc2Z6ivLraidX7AxbM8b2StdPcQGwjDGY14eqj9ippW7Pdrqj9d2y4xvwChzePQAqG1NvqQ775FKxg
2. Bitcoin (BTC/XBT): 18BqyV9mNbFLi5HNNnfUprnPJyJDFP59Xh
3. Etherum (ETH): 0x56E3273D42B40d47E122fF62108dEDC974A4206e
4. IntenseCoin (ITNS): iz5F814eDfX7gbUucu17E5YUBGADYGLDRhMfKQjfXwv9S1UDPaJKcgEiUUWm9vDeJ7JVcPWo7kZRmTFtcVcssc1h28zguw8iE

If you wish to support me, but doesn't have money for, you can still message me on Wire and give me some free hugs! :D

  • Wire handle: @SkyzohKey

License

This project is licensed under The MIT License.

Core symbols most depended-on inside this repo

getNodeValue
called by 37
src/services/RepositoryService.js
navigate
called by 8
src/components/DeepLinkingProvider.js
removeDuplicates
called by 4
src/utils/index.js
getNodeArray
called by 4
src/services/RepositoryService.js
getAppsUniq
called by 3
src/reducers/applications/selectors.js
unixToDate
called by 3
src/utils/index.js
fetchRepositories
called by 2
src/reducers/repositories/actions.js
nodeHasValue
called by 2
src/services/RepositoryService.js

Shape

Function 70
Method 37
Class 33

Languages

TypeScript94%
Java6%

Modules by API surface

src/App.js13 symbols
src/components/AppDetailsScreen/index.js12 symbols
src/services/RepositoryService.js9 symbols
src/components/DeepLinkingProvider.js9 symbols
src/components/EmptyPlaceholder/index.js7 symbols
android/app/src/main/java/com/mdroid/MainApplication.java6 symbols
src/components/Touchable/index.js5 symbols
src/components/ListItem/index.js5 symbols
src/components/SettingsScreen/index.js4 symbols
src/components/SearchScreen/index.js4 symbols
src/components/ListingScreen/index.js4 symbols
src/components/EntertainmentTab/index.js4 symbols

For agents

$ claude mcp add M-Droid \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page