Skip to content

Repository files navigation

Error in user YAML: (<unknown>): could not find expected ':' while scanning a simple key at line 16 column 1
---

## 2026-01-08: Admin Features & User Management

- Added "admin" as a valid user role (backend and frontend)
- Only admin users see the "Users" menu and page
- Admin-only Users page lists all users (name, email, role, created date)
- Backend `/users` endpoint (admin-only) for listing users
- Registration form now allows creating admin users
- Improved error handling for registration and login
- Troubleshooting: If login fails after role changes, ensure backend is rebuilt and restarted

### Additional Troubleshooting & Tips
- If you add a new user role (e.g., "admin"), update the backend UserRole enum and restart the backend.
- If you see a React error after registration, rebuild the frontend and backend, and check for backend validation errors.
# LumenControl

A modern, full-stack lighting control and project management platform.

---

Table of Contents


Overview

LumenControl is a comprehensive solution for managing lighting projects, fixtures, loads, rooms, and schedules. Built for flexibility and scalability, it supports CRUD operations, reporting, and seamless integration with modern web technologies.

Features

  • Project, Room, Fixture, and Load management (CRUD)
  • Room form now includes Room Type and Suggested FC fields
  • Required Lux is automatically calculated from room dimensions and Suggested FC (using meters for input)
  • Room and table headers are left-justified and show units for clarity
  • Room-aware Loads scheduling with intuitive UI
  • CSV/Excel report export
  • User authentication (login/register)
  • Responsive, modern frontend
  • Dockerized backend/frontend for easy deployment
  • Extensible API for integration

Tech Stack

  • Frontend: React, Tailwind CSS, Vite
  • Backend: FastAPI (Python), MongoDB
  • DevOps: Docker Compose

Setup & Installation

Prerequisites

  • Docker & Docker Compose installed
  • Node.js & npm (for local frontend dev)
  • Python 3.10+ (for local backend dev)

Quick Start (Recommended)

git clone https://github.com/smartcanada/lumencontrol-01-2026.git
cd lumencontrol
docker compose up --build
  • Access the app at: http://localhost:3000
  • Backend API at: http://localhost:8000

Manual Setup

See apps/lumencontrol/README.md for advanced/local setup.

Usage

  • Log in or register a new account
  • Create projects, rooms, fixtures, and loads
  • When adding/editing a room:
    • Enter Length, Width, and Height in meters
    • Select Room Type and Suggested FC
    • Required Lux is calculated automatically (no manual entry needed)
  • Use the Loads Schedule page for project planning
  • Export reports as needed

Project Structure

lumencontrol/
  backend/            # FastAPI backend
    server.py         # Main backend logic
    requirements.txt  # Python dependencies
  frontend/           # React frontend
    src/pages/Rooms.js # Room form and table logic
  docker-compose.yml  # Orchestration
  README.md           # Project documentation

Troubleshooting & Tips

  • If frontend changes do not appear, run:
    docker compose build --no-cache frontend
    docker compose up -d frontend
  • For backend changes, run:
    docker compose build backend
    docker compose up -d backend
  • If you see validation errors, check that all required fields are present in the payload (especially project_id for rooms).
  • For UI issues, try a hard refresh in your browser (Ctrl+F5).

Contributing

Pull requests and issues are welcome! Please:

  • Fork the repo and create a feature branch
  • Write clear commit messages
  • Document new features
  • Open a PR with a description of your changes

License

MIT

Contact


This README was generated with the help of GitHub Copilot (AI).

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages