Skip to content

Latest commit

 

History

History
364 lines (251 loc) · 24.7 KB

README.md

File metadata and controls

364 lines (251 loc) · 24.7 KB

Ever Gauzy Platform

visitors License: AGPL v3 Gitpod Ready-to-Code

💡 What's New

We released Ever Teams platform for Work & Project Management. Please check https://github.com/ever-co/ever-teams and make it ⭐ on GitHub! It's built with a React (NextJs) / ReactNative (Expo) stack and connects to headless Ever Gauzy Platform APIs.

🌟 What is it

Ever® Gauzy™ - Open Business Management Platform for Collaborative, On-Demand and Sharing Economies.

  • Enterprise Resource Planning (ERP)
  • Customer Relationship Management (CRM)
  • Human Resource Management (HRM)
  • Applicant Tracking System (ATS)
  • Work and Project Management (PM)
  • Employee Time-Tracking, Activity & Productivity Tracking

overview

Ever® Gauzy™ Platform is a part of our larger Open Platform for Collaborative, On-Demand and Sharing Economies - Ever® Platform™.

✨ Features

Main features:

  • Human Resources Management (HRM) with Time Management / Tracking and Employees Performance Monitoring
  • Customer Relationship Management (CRM)
  • Enterprise Resource Planning (ERP)
  • Projects / Tasks Management
  • Sales Management
  • Financial and Cost Management (including Accounting, Invoicing, etc)
  • Inventory, Supply Chain Management, and Production Management

A more detailed list of the features available in the platform:

  • Headless APIs
  • Dashboard (provides an overview of different metrics, such as company income/expenses, employee bonuses, etc.)
  • Time Management / Time Tracking / Activity Tracking / Timesheets
  • Employees Management (register of company employees/contractors, rates of employees, etc.)
  • Employee Onboarding
  • Applicant Tracking System (ATS) / Candidates Interviews
  • Contacts Management (Clients / Customers / Leads / etc.)
  • Schedules / Appointments / Events
  • Project Management / Tasks
  • Goals / KPI / Objectives / Key Results
  • Sales Pipelines
  • Proposals
  • Accounting / Invoicing / Estimates
  • Billing
  • Payments
  • Income / Expenses Management
  • Time Off Management / Holidays / Approvals
  • Inventory
  • Equipment / Sharing
  • Multiple Organizations Management
  • Organization Departments and Teams
  • Organization Clients and Vendors
  • Help Center / Knowledge Base
  • Tags / Labels
  • Reports / Insights / Analytics
  • Organization and Employee Public Pages
  • Integrations (Upwork, HubStaff, etc.)
  • Email History / Email Templates
  • Data Import / Export
  • Roles / Permissions
  • Multi-currency
  • Multi-lingual
  • Dark / Light / Corporate / Material and other Themes

Read more about Gauzy and how to use it at your company, on-demand business, freelance business, agency, studio or in-house teams.

🌼 Screenshots

Show / Hide Screenshots

Web UI

overview

Desktop Timer UI (Standard)

timer

Desktop Timer UI (Expanded)

timer

🔗 Links

📊 Activity

Alt

💻 Demo, Downloads, Testing and Production

Demo

Ever Gauzy Platform Demo at https://demo.gauzy.co.

Notes:

  • Default super-admin user login is admin@ever.co and the password is admin
  • Content of demo DB resets on each deployment to the demo environment (usually daily)
  • Demo environment deployed using CI/CD from the develop branch

Downloads

You can download Gauzy Platform, Gauzy Server, or Desktop Apps (Windows/Mac/Linux) from the official Downloads page.

In addition, all downloads are also available from the following pages:

Production (SaaS)

Ever® Gauzy™ Platform SaaS is available at https://app.gauzy.co.

Note: it's currently in Alpha version/testing mode, please use it cautiously!

Staging

  • Gauzy Platform Staging builds (using CI/CD, from the stage branch) are available at https://stage.gauzy.co
  • We are using the Staging environment to test releases before they are deployed to the production environment
  • Our pre-releases of desktop/server apps are built from this environment and can be configured manually (in settings) to connect to Stage API: https://apistage.gauzy.co

Server & Desktop Apps

We have Gauzy Server and two Desktop Apps (for Windows/Mac/Linux):

  • Ever® Gauzy™ Server - includes Gauzy API, SQLite DB (or connects to external PostgreSQL) and serves Guazy frontend. It allows to quickly run Gauzy Server for multiple clients (browser-based or Desktop-based). It's a recommended option if you want to setup the Ever Gauzy Platform in small to medium organizations.

  • Ever® Gauzy™ Desktop App - includes Gauzy frontend (UI), Gauzy API, SQLite DB, etc., all-in-one! It allows to quickly run the whole Gauzy solution locally, both UI and Timer (for time tracking, optionally of course). In addition, it allows you to connect to the external database (e.g. PostgreSQL) or external API (if you have Gauzy Server with API / DB installed on a different computer or if you want to connect to our live API). It's a recommended option if you want to try Gauzy quickly / for personal use or if you want to connect to Gauzy Server in the "client-server" configuration (and use Desktop App instead of web browser).

  • Ever® Gauzy™ Desktop Timer App - allows running Time and Activity Tracking for employees/contractors with screenshots and activity monitoring. It is recommended to setup by organization employees as long as they are not interested in other Gauzy Platform features (e.g. accounting) and only need to track work time.

More information about our Server & Desktop Apps:

  • Download for your OS from the official Downloads page or see the section "Download" above for other links to our releases pages.
  • Setup Gauzy Server with default choices in Setup Wizard and run it.
  • You can also setup Gauzy Desktop App (can run independently or connect to Gauzy Server) or Gauzy Desktop Timer App (should be connected to Gauzy Server)
  • You can login with admin@ever.co and password admin to check Admin functionality if you installed Gauzy Server or Gauzy Desktop App. Note: such an Admin user is not an employee, so you will not be able to track time.
  • You can login with employee@ever.co and password 123456 to check Employee-related functionality in Gauzy UI or to run Desktop Timer from an "Employee" perspective (such a user is an Employee and can track time).
  • If you install Gauzy Server, it is possible to connect to it using a browser (by default on http://localhost:4200) or using Gauzy Desktop Apps (make sure to configure Desktop apps to connect to Gauzy API on http://127.0.0.1:3000/api because it's where Gauzy Server API runs by default).
  • You can read more information about our Desktop Apps on the Desktop Apps Wiki Page and our Server at the Server Wiki Page.

🧱 Technology Stack and Requirements

For Production, we recommend:

Note: thanks to TypeORM / MikroORM, Gauzy will support lots of DBs: SQLite (default, for demos), PostgreSQL (development/production), MySql (development/production), MariaDb, CockroachDb, MS SQL, Oracle, MongoDb, and others (with minimal changes).

See also README.md and CREDITS.md files in relevant folders for lists of libraries and software included in the Platform, information about licenses, and other details

📄 Documentation

Please refer to our official Platform Documentation and our Wiki (WIP).

🚀 Quick Start

With Docker Compose

  • Clone repo.
  • Make sure you have the latest Docker Compose installed locally. Important: you need a minimum v2.20.
  • Run docker-compose -f docker-compose.demo.yml up, if you want to run the platform in basic configuration (e.g. for Demo / explore functionality / quick run) using our prebuilt Docker images. Check .env.demo.compose file for different settings (optionally), e.g. DB type. (Note: Docker Compose will use latest images pre-build automatically from head of master branch using GitHub CI/CD.)
  • Run docker-compose up, if you want to run the platform in production configuration using our prebuilt Docker images. Check .env.compose file for different settings (optionally), e.g. DB type. (Note: Docker Compose will use latest images pre-build automatically from head of master branch using GitHub CI/CD.)
  • Run docker-compose -f docker-compose.build.yml up, if you want to build everything (code and Docker images) locally. Check .env.compose file for different settings (optionally), e.g. DB type. (Note: this is extremely long process because it builds whole platform locally. Other options above are much faster!)
  • ☕ time... It might take some time for our API to seed fake data in the DB during the first Docker Compose run, even if you used prebuilt Docker images.
  • Open http://localhost:4200 in your browser.
  • Login with email admin@ever.co and password: admin for Super Admin user.
  • Login with email employee@ever.co and password: 123456 for Employee user.
  • Enjoy!

Notes:

  • while demo docker-compose.demo.yml runs a minimum amount of containers (API, Web UI, and DB), other Docker Compose files run multiple infrastructure dependencies (see full list below).
  • you can also run ONLY infra dependencies (without our API / Web containers) with docker-compose -f docker-compose.infra.yml up command. We already doing it using include in our main docker compose files.

Together with Gauzy, Docker Compose (i.e. docker-compose.yml and docker-compose.build.yml, not Demo docker-compose.demo.yml) will run the following:

Manually

Required

  • Install NodeJs LTS version or later, e.g. 18.x.
  • Install Yarn (if you don't have it) with npm i -g yarn.
  • Install NPM packages and bootstrap solution using the command yarn bootstrap.
  • If you will need to make code changes (and push to Git repo), please run yarn prepare:husky.
  • Adjust settings in the .env.local which is used in local runs.
  • Alternatively, you can copy .env.sample to .env and change default settings there, e.g. database type, name, user, password, etc.
  • Run both API and UI with a single command: yarn start.
  • Open Gauzy UI on http://localhost:4200 in your browser (API runs on http://localhost:3000/api).
  • Login with email admin@ever.co and password: admin for Super Admin user.
  • Login with email employee@ever.co and password: 123456 for Employee user.
  • Enjoy!

Notes:

  • during the first API start, DB will be automatically seeded with a minimum set of initial data if no users are found.
  • you can run seed any moment manually (e.g. if you changed entities schemas) with the yarn seed command to re-initialize DB (warning: unsafe for production!).
  • it is possible to run generation of extremely large amounts of fake data for demo purposes/testing with yarn seed:all (warning: takes ~10 min to complete)

Optional / Recommended for Production

  • Optionally (recommended for production) install and run PostgreSQL version 14 or later (16.x recommended for production). Note: other DB can be configured manually in TypeORM / MikroORM / Knex. The default DB is set to SQLite (recommended for testing/demo purposes only).
  • Optionally (recommended for production) install and run Redis. Notes: the platform will work without Redis using an in-memory caching strategy instead of a distributed one (recommended for testing/demo purposes only). Please note however that Redis is required for Jitsu.
  • Optionally (recommended for production) install and run ElasticSearch. Note: the platform will work without ElasticSearch using DB build-in search capabilities (recommended for testing/demo purposes only).
  • Optionally install and run MinIO or LocalStack. Note: the platform will work without MinIO / LocalStack or other S3-compatible storage using local filesystem-based storage (recommended for testing/demo purposes only). For production, we recommend using Wasabi or AWS S3 storage or another S3-compatible cloud storage.
  • Optionally (recommended for production) install and run Jitsu. Note: the platform will work without Jitsu, however, data ingestion will be disabled for additional analyses / real-time pipelines.
  • Optionally (recommended for production) install and run Cube. Note: the platform will work without Cube, however some advanced (dynamic) reporting and data processing capabilities will be disabled.

Production

General information

Kubernetes

DigitalOcean App Platform

Virtual Instances / Droplets (via SSH)

  • Another variant to deploy Gauzy is to use DigitalOcean Droplets or any other virtual instance (with Ubuntu OS) and deploy using SCP/SSH, for example, following GitHub Action

Pulumi

  • In addition, check Gauzy Pulumi project (WIP), it makes complex Clouds deployments possible with a single command (pulumi up). Note: it currently supports AWS EKS (Kubernetes) for development and production with Application Load Balancers and AWS RDS Serverless PostgreSQL DB deployments. We also implemented deployments to ECS EC2 and Fargate Clusters in the same Pulumi project.

💌 Contact Us

🔐 Security

Ever® Gauzy™ follows good security practices, but 100% security cannot be guaranteed in any software! Ever® Gauzy™ is provided AS IS without any warranty. Use at your own risk! See more details in the LICENSE.

In a production setup, all client-side to server-side (backend, APIs) communications should be encrypted using HTTPS/WSS/SSL (REST APIs, GraphQL endpoint, Socket.io WebSockets, etc.).

If you discover any issue regarding security, please disclose the information responsibly by sending an email to mailto:security@ever.co or on huntr and not by creating a GitHub issue.

🛡️ License

We support the open-source community. If you're building awesome non-profit/open-source projects, we're happy to help and will provide (subject to acceptance criteria) Ever Gauzy Enterprise edition license and free hosting option! Feel free to contact us at mailto:ever@ever.co to make a request. More details are explained in our Wiki.

This software is available under the following licenses:

The default Ever® Gauzy™ Platform license, without a valid Ever® Gauzy™ Platform Enterprise or Ever® Gauzy™ Platform Small Business License agreement, is the Ever® Gauzy™ Platform Community Edition License

Please see LICENSE for more information on licenses. You can also compare our offering

FOSSA Status

™️ Trademarks

Ever® is a registered trademark of Ever Co. LTD. Ever® Demand™, Ever® Gauzy™, Ever® Teams™, Ever® Recu™, Ever® Clokr™ and Ever® OpenSaaS™ are all trademarks of Ever Co. LTD.

The trademarks may only be used with the written permission of Ever Co. LTD. and may not be used to promote or otherwise market competitive products or services.

All other brand and product names are trademarks, registered trademarks, or service marks of their respective holders.

🍺 Contribute

  • Please give us ⭐ on Github, it helps!
  • You are more than welcome to submit feature requests in the separate repo
  • Pull requests are always welcome! Please base pull requests against the develop branch and follow the contributing guide.

💪 Thanks to our Contributors

See our contributors list in CONTRIBUTORS.md. You can also view a full list of our contributors tracked by Github.

⭐ Star History

Star History Chart

❤️ Powered By

©️ Copyright

Copyright © 2019-present, Ever Co. LTD. All rights reserved

Circle CI codecov Codacy Badge DeepScan grade Known Vulnerabilities FOSSA Status Crowdin

🔥 P.S