An open source employee scheduling and shift management system built with Flask.
- 📅 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
- Python 3.12+
- pip package manager
- Clone the repository
git clone https://github.com/yourusername/skedule.git
cd skedule- Create and activate a virtual environment
python -m venv venv
source venv/bin/activate # On Windows use: venv\Scripts\activate- Install dependencies
pip install -r requirements.txt- 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- Initialize the database
python drop_create_db.py- (Optional) Create sample data
python create_dummy_data.py- Run the development server
python run.pyThe application will be available at http://localhost:8080
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
Run the test suite:
pytest- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is open source and available under the GPL-3.0 License.
- Built with Flask and SQLAlchemy
- Uses Bootstrap for responsive design
- Feather icons for UI elements