Skip to content

Publish your company Active Directory users information as an address book

License

Notifications You must be signed in to change notification settings

vaassi/addressbook

Repository files navigation

AddressBook

Centralized endpoint for storing users contacts.

Active Directory attributes that app is looking for:

  • "name"
  • "employeeNumber"
  • "mail"
  • "telephoneNumber"
  • "mobile"
  • "birthdate" (custom attribute)
  • "company"
  • "department"
  • "title"
  • "c"
  • "postalCode"
  • "st"
  • "l"
  • "streetAddress"

Main window

AddressBook

Details window

AddressBook

Here's why

  • Easy installation (standalone binary, docker)
  • Cross-platform
  • Integrated with Active Directory
  • Search autocomplete
  • Favorite list
  • Birthday indication

Built With

  • WebAssemply
  • Bootstrap
  • JQuery

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

  • Installing Rust
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  • Install WebAssembly target
      rustup target add wasm32-unknown-unknown
  • Install Trunk, Make
      cargo install trunk
      cargo install cargo-make

Installation

  1. Clone the repo
    git clone https://github.com/vaassi/addressbook.git
  2. Create .env file base on .env.example
  3. Run cargo-make
    cargo make
  4. Copy in separate folder ./target/release/addressbook.exe, static folder, .env file
  5. Create assets folder in static dir and put contacts photo base on employeeNumber attribute, f.e. 12345.jpg
  6. Start addressbook.exe go to http://your_url/api/sync for initial synchronization, wait till get success, this url must be added to cron with schedule you want

For Docker users

docker build -t addressbook:0.1.0 .
 docker run -d --name addressbook --env-file=.env \
 -p 3000:3000 \
 -v ./data/data.sqlite:/opt/app/data.sqlite \
 -v ./data/assets:/opt/app/static/assets \
 vaassi/addressbook:0.1.0

Contributing

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". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE.txt for more information.