Logo

acevegantt: A Free and Open-source Full-stack Gantt Chart Implementation for Managing Academic Events

Download ZIP File View on GitHub

acevegantt.

GitHub Release License: BSD-3-Clause Citation File DOI CodeFactor OpenSSF Scorecard GitHub Stars Maintained by Jaisal E. K.

acevegantt. is a free, open-source, full-stack Gantt chart implementation tailored for academic event management. It provides a simple admin console for managing users and adding or editing tasks rendered to authenticated users on the frontend interface as a Gantt chart. While acevegantt. is custom-built for internal tracking of academic conferences, workshops, etc., it is adaptable with minor modifications for other event formats and use cases.

acevegantt Main Interface

acevegantt Admin Console

Requirements 📋

Usage 💻

  1. Download the latest release from the releases page and extract the zip file (recommended approach). Alternatively, clone the repository using the git clone https://github.com/ekjaisal/acevegantt.git command.

  2. Navigate to the acevegantt directory and install all the necessary dependencies by running npm install.

  3. Set up the database from Firebase Console → Create a Project → Build → Firestore Database → Create Database.

  4. Generate a new private key for the service account from Project Overview → Project Settings → Service Accounts → Generate New Private Key and save the downloaded file as serviceAccountKey.json in the backend sub-directory within the acevegantt directory.

    Note: Do not upload the serviceAccountKey.json file to a public repository.

  5. Configure the environment variables in the .env file in the root directory by replacing your-project-id with the Firebase Project ID and your-jwt-secret with a secret string for JWT encryption.

    Note: Do not upload the .env file to a public repository.

  6. To create an initial admin user, modify the create-admin.js file in the root directory by replacing the set_admin_user and set_admin_password with the preferred admin username and password and run node create-admin.js command.

  7. Modify the Event Placeholder in index.html with the actual event name to be displayed in the chart interface.

  8. Run node server.js to start the local server. Access the chart interface from http://localhost:5000 and the admin console from http://localhost:5000/admin.

  9. To thoroughly test the implementation and see the live preview of modifications, run the local server using the nodemon server.js command instead of node server.js.

Deployment 🚀

  1. Choose a hosting platform for deployment based on the project requirements—one with a generous, permissive free tier for smaller projects or a paid option for larger projects.
  2. Set up the environment variables from the .env file and any others based on the requirements of the hosting platform.
  3. Deploy the code following the hosting platform’s guidelines.

Third-Party Libraries and Services 🛠️

This project uses the following open-source libraries:

License 📄

This project is licensed under the BSD 3-Clause License. See the LICENSE file for details.

Disclaimer 📣

This setup is provided as-is, without any warranties. Users are responsible for ensuring that their use of this implementation complies with the terms of service of Firebase and the hosting platform.

Acknowledgements 🤝🏾

acevegantt. has benefitted significantly from the assistance of Anthropic’s Claude 3.5 Sonnet with all the heavy lifting associated with coding and some of the many ideas, suggestions, and feedback from Sarah Harniswala.

Buy Me A Coffee