Skip to content

alselawi/apexo-flutter

Repository files navigation

Apexo

Apexo is application intended for simple and easy management of dental clinics. Its free and open source. It supports patient management, appointment management, photo attachments, multiple doctors, multiple users, works offline, synchronizes through multiple devices, multi-lingual, secure, supports backups.

Website - Demo - Download - Documentation

The following document is technical documentation for the Apexo project. If you are a user, or would like to use the application please visit the Apexo website, or read through the manual.md.

Contributing

All contribution are welcome, whether as a PR or issue. All I ask is to adhere to Github community standards.

Technology stack

This project uses Dart and Flutter to be able to run on multiple platforms from a single codebase. The design language is Microsoft FluentUI, as implemented thankfully by Bruno D'Luka.

The backend of this application should be Pocketbase.

I'm saying "should" because I leave it up to the users to host their own backend. However, a cleanly installed pocketbase with a super user credentials would be enough to run this application since the application creates all the required collections and values on first login.

Check the manual.md for how to install PocketBase.

In previous versions of apexo, in an old github account of mine that I lost access to, and abandoned since then, the tech-stack was quite different, Typescript/React to create a single page PWA and CouchDB as backend. However, with usage I have found that the web platform, although great for other application, was limiting for this application. So in summer 2024 I started a whole re-write of apexo and published it to my new github account.

  • Can you migrate from that application to this one?
    • No you can't, I'm sorry. This is a new release, the versioning isn't even a continuation from the old one.
    • However, I plan to support this version so that it will always be backwards compatible.

Available platforms

  • Windows: All features should/are tested and works.
  • Android: All features should/are tested and works.
  • Web: partial support, photo uploading isn't supported (todo).
  • iOS: planned, not yet implemented.
  • MacOS: planned, not yet implemented.

Testing

Building

To build the application the common flutter commands should be used:

flutter build windows
flutter build apk
flutter build web

... etc.

However, to streamline distribution I've wrote the file scripts/build_and_dist.dart so that it builds for the supported platforms, then move the builds to "dist" directory where the landing page would fetch and display download links for all versions.

Support

Currently I'm not accepting any financial support for the development of this project. I'm developing it on my free time and using it in my own clinic.

If you insist to help:

  • You can report issues or bugs.
  • Submit PR request to improve the project.
  • Pray for peace and better future in the middle east.

Built with ❤️ in Mosul, Iraq.

License

GNU General Public License v3.0.