Skip to content

Express Activity Center Checkout built with Express, Vue 3, Vuetify, and Socket.io

License

Notifications You must be signed in to change notification settings

MRSessions/ExpressAcc

 
 

Repository files navigation

Forks Stargazers Issues MIT License


ExpressACC

(Until I find a better name)


Express Activity Checkout Center/Task/Chore Manager

Demo coming soon · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

  • Currently stands as MVP for at least the user portion to check out and in items.

ExpressACC started as an idea for my kids to be able to manage their own time on devices. Instead of parents managing multiple kids and devices, the kids can manage their own time. It also includes an admin dashboard for parents/admins to be able to monitor time left. The goal is for this to expand to other places outside the home, such as school, church, etc.

As of right now, this is being built as a self-hosted docker container. I plan hosting a cloud solution in the near future.

This is a work in progress and is not ready for production use. I am not responsible for any damage or loss of data. Use at your own risk.

(back to top)

Built With

Tool Version
Express Express
Vue Vue
Vuetify Vuetify-beta
Socket.io Socket.io
lowdb lowdb
Vite Vite

(back to top)

Getting Started

Work in progress... Keep in mind things may change quickly.

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

  • Mac, Linux, or Windows WSL
  • Nodejs >= 16.0.0
  • Docker (recommended)
  • Docker-compose (recommended)

Installation

  1. Clone the repo
    git clone https://github.com/SessionsTechnology/ExpressAcc.git && cd ExpressAcc
  2. Install NPM packages
    npm run setup
  3. Run the app
    npm run dev

The above steps will currently run the application with a default port of 3001 locally. If you wish to run the app in docker, you can run the following command to build the docker image and run the container.

docker build -t expressacc:latest . && docker run -d -p 3001:3001 expressacc:latest

You can also create a volume to persist the data. This will allow you to update the container without losing your data.

docker build -t expressacc:latest . && docker run -d -p 3001:3001 -v expressacc-data:/app/lowdb expressacc:latest

(back to top)

Usage

  1. As you start the app, you will see an error in the console TypeError: Cannot read properties of undefined (reading 'find'). This will continue to log until you go to the app in your browser and run the first setup (simple two fields for now).

  2. Once you have completed the setup, you will see two buttons, one for Checkout and one for Admin. You can click on the Admin button to see the admin dashboard. The admin dashboard will show you the current time left for each user (more functionality to come). There is a settings button that will take you to the settins page.

  3. The settings page will allow you to setup how much time each weekday a 'User' will have for items marked as 'Timed', add new users, and add new items.

  4. From here you can go to the Checkout screen to allow your 'Users' to checkout items.

(back to top)

Roadmap

  • Initial Open Source Release
    • Publish initial commit
    • Finish Admin Dashboard
    • Finish Admin Edit User
    • Code Cleanup and Refactor
    • Create Import/Export for db.json
  • Create Task/Chore Management

See the open issues and project dashboard for a full list of proposed features (and known issues).

(back to top)

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

(back to top)

License

Distributed under the AGPL-3.0 License. See LICENSE for more information.

(back to top)

Contact

Matt Sessions - expressacc@sessionstech.com

Project Link: https://github.com/SessionsTechnology/ExpressAcc

(back to top)

Acknowledgments

  • Shoutout to all the tools listed in the Built With section.
  • Shoutout to my children for really enjoying the use of the app and even suggesting features.
  • Shoutout to Family and Friends for their encouragement and extra ideas brought to the table.
  • othneildrew/Best-README-Template for this lovely README template.

(back to top)

About

Express Activity Center Checkout built with Express, Vue 3, Vuetify, and Socket.io

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Vue 57.8%
  • JavaScript 36.1%
  • CSS 4.7%
  • Other 1.4%