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"
- Easy installation (standalone binary, docker)
- Cross-platform
- Integrated with Active Directory
- Search autocomplete
- Favorite list
- Birthday indication
To get a local copy up and running follow these simple steps.
- Installing Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- Install WebAssembly target
rustup target add wasm32-unknown-unknown
- Fix for OpenSSL trunk (windows)
mkdir \Tools cd \Tools git clone https://github.com/Microsoft/vcpkg.git cd vcpkg .\bootstrap-vcpkg.bat .\vcpkg.exe install openssl:x64-windows-static $env:OPENSSL_DIR = 'C:\Tools\vcpkg\installed\x64-windows-static' $env:OPENSSL_STATIC = 'Yes' [System.Environment]::SetEnvironmentVariable('OPENSSL_DIR', $env:OPENSSL_DIR, [System.EnvironmentVariableTarget]::User) [System.Environment]::SetEnvironmentVariable('OPENSSL_STATIC', $env:OPENSSL_STATIC, [System.EnvironmentVariableTarget]::User)
- Install Trunk, Make
cargo install trunk cargo install cargo-make
- Clone the repo
git clone https://github.com/vaassi/addressbook.git
- Create .env file base on .env.example
- Run cargo-make
cargo make
- Copy in separate folder
./target/release/addressbook.exe
,static
folder,.env
file - Create assets folder in static dir and put contacts photo base on employeeNumber attribute, f.e.
12345.jpg
- Start
addressbook.exe
go tohttp://your_url/api/sync
for initial synchronization, wait till getsuccess
, this url must be added to cron with schedule you want
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
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!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.