File Upload




        

License: MIT Python: 3.9+ Code style: black Django: 4.2+ Django CI

Please note that this is a WIP,

If you have a login please use the link in the hamburger menu on the top left.

CadEval is an open-source building analysis platform that enables architects and engineers to evaluate and compare building parameters using IFC models.

Built with Django and IFCOpenShell, it provides powerful tools for building performance analysis, spatial optimization, and design validation. It is the product from a TU Master Thesis project.

๐Ÿš€ Planned Features

๐Ÿ“‹ Requirements

โšก Quick Start

            
# Clone the repository
$ git clone https://github.com/cadeval/cadeval
$ cd cadeval

# Set up virtual environment
$ python -m venv venv
$ source venv/bin/activate  # Unix
$ .\venv\Scripts\activate   # Windows

# Install requirements
$ pip install -r requirements.txt

# Set up environment variables
$ cp .env.example .env
# Edit .env with your settings

# Run migrations
$ python manage.py migrate

# Create superuser
$ python manage.py createsuperuser

# Run development server
$ python manage.py runserver
            
        

Visit http://localhost:8000/admin to access the admin interface.

๐Ÿ”ง Configuration

Key settings in .env:

            
                DEBUG=True
                SECRET_KEY=your-secret-key
                DATABASE_URL=postgres://user:password@localhost:5432/cadeval
                REDIS_URL=redis://localhost:6379/0
            
        

๐Ÿ—๏ธ Project Structure

            
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ manage.py                   # Django management script
โ”‚   โ”œโ”€โ”€ ifc_extractor/          # IFC file processing module
โ”‚   โ”‚   โ”œโ”€โ”€ energy_modeling.py
โ”‚   โ”‚   โ””โ”€โ”€ energy.py
โ”‚   โ”œโ”€โ”€ model_manager/              # Main application module
โ”‚   โ”‚   โ”œโ”€โ”€ models.py               # Database models
โ”‚   โ”‚   โ”œโ”€โ”€ views.py                # View controllers
โ”‚   โ”‚   โ””โ”€โ”€ urls.py                 # URL routing
โ”‚   โ””โ”€โ”€ webapp/                     # Web application configuration
โ”‚       โ”œโ”€โ”€ settings.py
โ”‚       โ””โ”€โ”€ urls.py
            
        

๐Ÿ”Œ API Documentation

Once this part is finished the api end points will be implemented as follows.

API documentation is available at /api/docs/ when running the server. Key endpoints:

๐Ÿงช Testing

            
# Clone the repository
git clone https://github.com/cadeval/[project-name]
gh repo clone Cadeval/[project-name]

# Create virtual environment
$ python -m venv venv
$ source venv/bin/activate  # Unix
$ .\venv\Scripts\activate   # Windows

# Install dependencies
$ pip install -r requirements.txt

# Or using uv by [astral](https://docs.astral.sh/uv)
$ uv venv

# Please note that the venv dir in that case is .venv
# Activation follows the same pattern as above

# A Python version can be requested, e.g., to create a virtual environment with Python 3.11:
# Note this requires the requested Python version to be available on the system. However, if unavailable, uv will download Python for you. See the Python version documentation for more details.
$ uv venv --python 3.11

# Install a package in the new virtual environment
$ uv pip install ruff

# Run migrations
$ python manage.py migrate

# Start development server
$ python manage.py runserver
            
        

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guidelines and Code of Conduct.

๐Ÿ”’ Security

To report security vulnerabilities, please email security@cadeval.org.

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

๐Ÿ“ฎ Contact


Made with โค๏ธ by the CadEval team