Skip to content

Senzo13/vue-time-manager

Repository files navigation

⏱️ Time Manager

A full-stack time management and employee tracking platform built with Vue.js, Elixir/Phoenix, and React Native.

Stars Issues Forks

Time Manager Preview

📋 About

Time Manager is a productivity-focused web and mobile application designed for teams and organizations to efficiently track employee working hours, manage teams, and visualize productivity through interactive charts. It provides role-based access control, real-time clock-in/clock-out functionality, and detailed analytics dashboards.

Keywords: time management, employee tracker, productivity tool, task tracker, team management, working hours, Vue.js app


✨ Features

  • Clock In / Clock Out — Real-time timer to track working sessions with precision
  • Working Time Management — Create, view, edit, and delete working time entries
  • Team Management — Organize employees into teams and monitor team-level productivity
  • Interactive Charts & Analytics — Visualize working hours and trends with ApexCharts dashboards
  • Role-Based Access Control — Secure authentication with Guardian (JWT) and user roles
  • User Accounts — Sign up, sign in, and manage personal profiles
  • Mobile App — Cross-platform React Native (Expo) mobile companion app
  • Drag & Drop Interface — Intuitive UI with draggable components via VueDraggable
  • Dockerized Deployment — Full Docker Compose setup for easy deployment

🛠️ Tech Stack

Layer Technology
Frontend Vue.js Vite Vuex
Backend Elixir Phoenix
Mobile React Native Expo
Database PostgreSQL
DevOps Docker Nginx
Auth Guardian Argon2

🚀 Getting Started

Prerequisites

Quick Start with Docker

# Clone the repository
git clone https://github.com/Senzo13/Time_Manager.git
cd Time_Manager

# Create a .env file with your database credentials
# (see docker-compose.yml for required variables)

# Build and run all services
docker-compose up --build

The web app will be available at http://localhost:80 and the API at http://localhost:4000.

Manual Setup

Backend (Elixir/Phoenix)

cd server/time_manager

# Install dependencies
mix deps.get

# Create and migrate the database
mix ecto.setup

# Start the Phoenix server
mix phx.server

Frontend (Vue.js)

cd app/web/time_manager

# Install dependencies
npm install

# Start the dev server
npm run dev

Mobile (React Native / Expo)

cd app/mobile/TIME_MANAGER_APP

# Install dependencies
npm install

# Start Expo
npm start

📁 Project Structure

Time_Manager/
├── app/
│   ├── web/time_manager/      # Vue.js 3 web application (Vite)
│   └── mobile/TIME_MANAGER_APP/ # React Native mobile app (Expo)
├── server/time_manager/        # Elixir/Phoenix REST API
├── docker-compose.yml          # Docker orchestration
└── README.md

🤝 Contributing

Contributions are welcome! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/my-feature)
  3. Commit your changes (git commit -m "Add my feature")
  4. Push to the branch (git push origin feature/my-feature)
  5. Open a Pull Request

Please make sure your code follows the existing style and passes all tests before submitting.


📬 Contact

Lorenzo@Senzo13

Project Link: https://github.com/Senzo13/Time_Manager


If you found this project useful, please consider giving it a ⭐

About

Employee time tracking and management app with charts, roles, and Docker deployment

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors