Skip to content

Commit 16139ad

Browse files
committed
docs: update readme
1 parent 1d55c87 commit 16139ad

1 file changed

Lines changed: 61 additions & 17 deletions

File tree

README.md

Lines changed: 61 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,65 @@
11
# BEC Atlas
22

3+
BEC Atlas is a web-based management system for BEC (Beamline Experiment Control) deployments at scientific facilities. It provides centralized access control, deployment management, and real-time monitoring capabilities for beamline experiments.
4+
5+
## Features
6+
7+
- **Deployment Management**: Create and manage BEC deployments across multiple beamlines
8+
- **Access Control**: Role-based access control with user, group, and admin permissions
9+
- **Real-time Monitoring**: Live monitoring and control of beamline experiments
10+
- **Authentication**: JWT-based authentication with LDAP integration
11+
- **REST API**: Comprehensive API for programmatic access and integration
12+
313
## Prerequisites
4-
* Install redis
5-
* Install docker
6-
* Python environment >= 3.10
7-
* tmux
8-
* nginx (optional)
9-
10-
## Installation
11-
* `pip install -e './backend[dev]'`
12-
* `docker run --name scylla -p 9042:9042 -p 9160:9160 -p 9180:9180 -d scylladb/scylla`
13-
* Optional: `nginx -c $(pwd)/utils/nginx.conf`
14-
* `bec-atlas start` to start the backend. This will start two instances of the fastapi server plus the redis server.
15-
16-
Once the backend is running, you can access the API at `http://localhost/docs` through your browser.
17-
18-
```{note}
19-
The fastapi server will be running on port 8000 and 8001. The redis server will be running on port 6379. However, nginx will expose it directly to port 80. Therefore, you can access the API at `http://localhost/docs` through your browser. If you want to access the API directly, you can use `http://localhost:8000/docs` or `http://localhost:8001/docs`.
20-
```
14+
15+
- Python >= 3.10
16+
- Redis server
17+
- MongoDB
18+
- Docker
19+
- tmux
20+
- nginx (optional, for load balancing)
21+
22+
## Quick Start
23+
24+
1. **Install the package:**
25+
```bash
26+
pip install -e './backend[dev]'
27+
```
28+
29+
2. **Start required services:**
30+
```bash
31+
# Start MongoDB (if using Docker)
32+
docker run --name mongodb -p 27017:27017 -d mongo:latest
33+
34+
# Optional: Start nginx for load balancing
35+
nginx -c $(pwd)/utils/nginx.conf
36+
```
37+
38+
3. **Start BEC Atlas:**
39+
```bash
40+
bec-atlas start
41+
```
42+
This will start two instances of the FastAPI server plus the Redis server.
43+
44+
4. **Access the application:**
45+
- Web interface: `http://localhost:4200`
46+
- API documentation: `http://localhost/docs`
47+
- Direct API access: `http://localhost:8000/docs` or `http://localhost:8001/docs`
48+
49+
## Commands
50+
51+
- `bec-atlas start` - Start all services in tmux session
52+
- `bec-atlas stop` - Stop all services
53+
- `bec-atlas restart` - Restart all services
54+
- `bec-atlas attach` - Attach to running tmux session
55+
- `bec-atlas-get-key` - Retrieve deployment environment files
56+
57+
## Development
58+
59+
The application consists of:
60+
- **Backend**: FastAPI application with MongoDB and Redis
61+
- **Frontend**: Angular web application
62+
- **Services**: Two FastAPI instances (ports 8000/8001) with Redis (port 6379)
63+
64+
For development setup, see the individual README files in `backend/` and `frontend/` directories.
2165

0 commit comments

Comments
 (0)