Skip to content

Va1a/skedule

Repository files navigation

Skedule

An open source employee scheduling and shift management system built with Flask.

Features

  • 📅 Week-based schedule viewing and management
  • 👥 Employee shift requests and assignments
  • 📋 Shift templates for repeatable schedules
  • 🔒 User authentication and role-based access
  • 📱 Responsive web interface
  • 🔄 Real-time schedule updates
  • 📊 Employee roster management

Getting Started

Prerequisites

  • Python 3.12+
  • pip package manager

Installation

  1. Clone the repository
git clone https://github.com/yourusername/skedule.git
cd skedule
  1. Create and activate a virtual environment
python -m venv venv
source venv/bin/activate  # On Windows use: venv\Scripts\activate
  1. Install dependencies
pip install -r requirements.txt
  1. Set up environment variables
# Create a .env file with the following variables
SKEDULE_SECRET_KEY=your_secret_key
DATABASE_URL=sqlite:///site.db  # Or your database URL
RECAPTCHA_SITE_KEY=your_recaptcha_site_key
RECAPTCHA_SECRET_KEY=your_recaptcha_secret_key
  1. Initialize the database
python drop_create_db.py
  1. (Optional) Create sample data
python create_dummy_data.py
  1. Run the development server
python run.py

The application will be available at http://localhost:8080

Project Structure

skedule/
├── admin/         # Administrative functionality
├── api/           # REST API endpoints
├── errors/        # Error handlers
├── main/          # Core scheduling views
├── static/        # CSS, JavaScript, and assets
├── templates/     # HTML templates
└── users/         # User authentication and management

Testing

Run the test suite:

pytest

Contributing

  1. Fork the repository
  2. Create a 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

License

This project is open source and available under the GPL-3.0 License.

Acknowledgments

  • Built with Flask and SQLAlchemy
  • Uses Bootstrap for responsive design
  • Feather icons for UI elements

About

Open Source Scheduling Tool

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published