Skip to content

igeligel/workplacify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

workplacify

The open-source desk scheduling app for your office. Learn more.

Banner for the GitHub repository, showing application screenshots

About the Project

We are the first open-source desk scheduling app for your office. Ever had conflicting desk schedules or an employee not getting their favorite desk? Tracking your desks in an Excel sheet? Use workplacify to manage your office desks and make your employees happy. A perfect alternative to Envoy, UnSpot, or desk.ly.

Built With

Contact us

Meet us on Discord or schedule a meeting with the founder.

Development

Setup

  1. Fork the repository: https://github.com/igeligel/workplacify/fork and clone it to your local machine:
    git clone https://github.com/<your_username>/workplacify
  2. Go to the project directory:
    cd workplacify
  3. Install packages with npm
    npm install
  4. Set up your .env file:
  5. Setup Node If your Node version does not meet the project's requirements as instructed by the docs, "nvm" (Node Version Manager) allows using Node at the version required by the project. You can also use nvm-windows. We are currently using Node.js 20.
  6. Start the database & development server:
    npm run db-up
    npm run dx
  7. Once starting you also should see an example organization id which you can join which has some static data already.

Deployment

Deployment is done via render.com. You can deploy your own instance by clicking the button below:

Deploy to Render

Contributing

We are still working on our contributing guide but feel free to open a PR or issue if you see something or want to request a feature.

Integrations

We are having some integrations of which some are necessary to run the application.

Google OAuth

We use Google as the main auth provider. You can create your own OAuth credentials via https://console.cloud.google.com/apis/credentials. These credential can be then added to the .env file.

Microsoft Entra OAuth

You can use Microsoft Entra as an auth provider.

You can create all the necessary credentials via the Azure Portal. Check for Microsoft Entra ID in the search bar and select it.

Entra id search in the Azure Portal

On the next page, select "Add" and then "App Registrations" and then fill out the details. In the "Supported account types" section, choose:

  • Accounts in this organizational directory only (Standardverzeichnis only - Single tenant) or
  • Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox)

For the "Redirect URI (optional)", select "Web" and enter the following URL: https://127.0.0.1:3000/api/auth/callback/microsoft-entra-id. Or when you self-host: https://your-domain.com/api/auth/callback/microsoft-entra-id. The path is the important part here: /api/auth/callback/microsoft-entra-id.

Once created you need to find certain values and add them to the .env file:

Environment Variable Microsoft Entra ID lookup
MICROSOFT_ENTRA_CLIENT_ID Application (client) ID
MICROSOFT_ENTRA_CLIENT_SECRET Under Client credentials, you will see 0 certificate, 1 secret or similar. If not click on it and get a client secret.
MICROSOFT_ENTRA_ISSUER This is an URL that includes your Directory (tenant) ID. Its the format https://#.microsoftonline.com/{Directory (tenant) ID}/wsfed

Cloudinary

We are using cloudinary to save images of the floor. We currently do not have other providers to save the image, but we might work on this in the future. You can create your own Cloudinary credentials via https://cloudinary.com/console. These credential can be then added to the .env file.

Discord (for notifications)

Discord is fully optional but we use it to notify the team around issues, or events that are happening on the platform, to interact with new users for example. You can create your own Discord bot via https://discord.com/developers/applications. These credential can be then added to the .env file.

License

The code is licensed under the MIT License mostly. Some parts are currently licensed under different licenses because they are commercial projects:

Acknowledgements

None so far!

About

The #1 desk reservation/scheduling solution for hybrid workplaces, fully open-source

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors 2

  •  
  •