|
1 |
| -# Prelude Early Release |
| 1 | +# Prelude Pre-release |
2 | 2 |
|
3 |
| -Prelude is a tool that enables teams to incrementally build their data platform. By breaking down data portal development into phased steps, teams can systematically verify requirements and user workflows while minimizing technical overhead. |
4 |
| - |
5 |
| -Development progresses through four distinct phases, each building upon the previous phase's foundation while introducing new capabilities. |
| 3 | +Prelude is a tool that enables teams to incrementally build their data platform. |
| 4 | +By breaking down data portal development into phased steps, teams can |
| 5 | +systematically verify requirements and user workflows while minimizing technical |
| 6 | +overhead. |
6 | 7 |
|
7 | 8 | This process enables teams to:
|
8 | 9 |
|
9 |
| -* Validate project requirements with hands-on testing |
10 |
| -* Gain a clear understanding of user workflows and interactions |
11 |
| -* Documented data management processes |
12 |
| -* Define security and access control needs |
13 |
| -* Build a solid foundation for production deployment planning |
| 10 | +- Validate project requirements with hands-on testing |
| 11 | +- Gain a clear understanding of user workflows and interactions |
| 12 | +- Documented data management processes |
| 13 | +- Define security and access control needs |
| 14 | +- Build a solid foundation for production deployment planning |
| 15 | + |
| 16 | +## Development Phases |
| 17 | + |
| 18 | +Development progresses through four distinct phases, each building upon the |
| 19 | +previous phase's foundation while introducing new capabilities. |
14 | 20 |
|
15 |
| -## Prelude Development Phases |
| 21 | +| Phase | Description | Software Components | Status | |
| 22 | +| -------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | -------------- | |
| 23 | +| **PhaseOne:** Data Exploration & Theming | Display your tabular data in a themable portal with our front-end and back-end search components. | CSV-processor, Elasticsearch, Arranger, Stage | 🟢 Working | |
| 24 | +| **PhaseTwo:** Tabular Data Management & Validation | Implementation of tabular data submission, storage and validation. | All the above with Lyric, LyricDb (Postgres), Lectern and LecternDb (MongoDb) added | 🟡 Pending | |
| 25 | +| **PhaseThree:** File Data & Metadata Management | Implement back-end file management. | All the above with Song, Score, SongDb (Postgres) and Object Storage (Minio) | 🟡 Pending | |
| 26 | +| **PhaseFour:** Identity and Access management | Configure Keycloak to authenticate users and authorize what they have access too. | Empahsis on data access control planning and Keycloak configuration | ⚪ Not Started | |
16 | 27 |
|
17 |
| -| Phase | Description | Software Components | |
18 |
| -|-------|-------------|----------------| |
19 |
| -| **PhaseOne:** Data Exploration & Theming | Display your tabular data in a themable portal with our front-end and back-end search components. | CSV-processor, Elasticsearch, Arranger, Stage | |
20 |
| -| **PhaseTwo:** Tabular Data Management & Validation | Implementation of tabular data submission, storage and validation. | All the above with Lyric, LyricDb (Postgres), Lectern and LecternDb (MongoDb) added | |
21 |
| -| **PhaseThree:** File Data & Metadata Management | Implement back-end file management. | All the above with Song, Score, SongDb (Postgres) and Object Storage (Minio) | |
22 |
| -| **PhaseFour:** Identity and Access management | Configure Keycloak to authenticate users and authorize what they have access too. | Empahsis on data access control planning and Keycloak configuration | |
| 28 | +## Prerequisites |
23 | 29 |
|
24 |
| -## Running the portal |
| 30 | +### Required Software |
25 | 31 |
|
26 |
| -1. **Set Up Docker:** Install or update to Docker Desktop version 4.32.0 or higher. Visit [Docker's website](https://www.docker.com/products/docker-desktop/) for installation details. |
| 32 | +- Node.js 18 or higher |
| 33 | +- npm 9 or higher |
| 34 | +- Docker Desktop 4.32.0 or higher |
| 35 | + ([Download here](https://www.docker.com/products/docker-desktop/)) |
27 | 36 |
|
28 |
| -> [!important] |
29 |
| -> Allocate sufficient resources to Docker: |
30 |
| -> - Minimum CPU: `8 cores` |
31 |
| -> - Memory: `8 GB` |
32 |
| -> - Swap: `2 GB` |
33 |
| -> - Virtual disk: `64 GB` |
| 37 | +### Docker Resource Requirements |
| 38 | + |
| 39 | +> [!important] Allocate sufficient resources to Docker: |
| 40 | +> |
| 41 | +> - Minimum CPU: `8 cores` |
| 42 | +> - Memory: `8 GB` |
| 43 | +> - Swap: `2 GB` |
| 44 | +> - Virtual disk: `64 GB` |
34 | 45 | >
|
35 | 46 | > Adjust these in Docker Desktop settings under "Resources".
|
36 | 47 |
|
37 |
| -**2. Clone the repo branch** |
| 48 | +## Installation & Setup |
| 49 | + |
| 50 | +1. **Clone the repo branch** |
38 | 51 |
|
39 | 52 | ```
|
40 | 53 | git clone -b prelude https://github.com/overture-stack/conductor.git
|
41 | 54 | ```
|
42 | 55 |
|
43 |
| -**3. Build a Stage image using the dockerfile** |
44 |
| - |
45 |
| -For phaseOne run: |
| 56 | +2. **Build the Stage image using the dockerfile** For phaseOne run: |
46 | 57 |
|
47 | 58 | ```
|
48 |
| -cd phaseOne/stageP1 |
| 59 | +cd apps/stage |
49 | 60 | docker build -t localstageimage:1.0 .
|
50 | 61 | ```
|
51 | 62 |
|
52 |
| -For phaseTwo run: |
| 63 | +After editing your stage folder make sure you run the above build command before |
| 64 | +deploying locally using this docker compose setup. |
53 | 65 |
|
54 |
| -``` |
55 |
| -cd phaseTwo/stageP2 |
56 |
| -docker build -t localstageimage:2.0 . |
57 |
| -``` |
| 66 | +## Running the Platform |
| 67 | + |
| 68 | +### Deployment Commands |
| 69 | + |
| 70 | +Run one of the following commands from the root of the repository: |
58 | 71 |
|
59 |
| -After editing your stage folder make sure you run the above build command before deploying locally using this docker compose setup. |
| 72 | +| Environment | Unix/macOS | Windows | |
| 73 | +| ------------------- | --------------- | ------- | |
| 74 | +| phaseOne Platform | `make phaseOne` | pending | |
| 75 | +| phaseTwo Platform | pending | pending | |
| 76 | +| phaseThree Platform | pending | pending | |
60 | 77 |
|
61 |
| -**4. Run one of the following commands from the root of the repository:** |
| 78 | +Following startup the front end portal will be available at your |
| 79 | +`localhost:3000` |
62 | 80 |
|
63 |
| -| Environment | Unix/macOS | Windows | |
64 |
| -|-------------|------------|---------| |
65 |
| -| phaseOne Platform | `make phaseOne` | pending | |
66 |
| -| phaseTwo Platform | `make phaseTwo` | pending | |
| 81 | +### Helper Commands |
67 | 82 |
|
68 |
| -Following startup the front end portal will be available at your `localhost:3000` |
| 83 | +| Description | Unix/macOS | Windows | |
| 84 | +| --------------------------------------------------------------- | ------------------ | ------- | |
| 85 | +| Shuts down all containers | `make down` | pending | |
| 86 | +| Shuts down all containers and removes volumes | `make downVolumes` | pending | |
| 87 | +| Submits pre-configured demo data | `make mockData` | pending | |
| 88 | +| Removes all documents from elasticsearch | `make clean` | pending | |
| 89 | +| Spins up all complementary services for local stage development | `make stageDev` | pending | |
69 | 90 |
|
70 |
| -**You can also run any of the following helper commands:** |
| 91 | +## Documentation |
71 | 92 |
|
72 |
| -| Description | Unix/macOS | Windows | |
73 |
| -|-------------|------------|---------| |
74 |
| -| Shuts down all containers | `make down` | pending | |
75 |
| -| Shuts down all containers & removes all persistent Elasticsearch volumes (only relevant for phaseOne) | `make clean` | pending | |
| 93 | +Detailed documentation can be found in multiple locations: |
76 | 94 |
|
77 |
| -Information on usage can be found from the `/docs` folder at the root of this repo or from the documentation tab found on our front-end at `http://localhost:3000/documentation` |
| 95 | +- The `/docs` folder at the root of this repository |
| 96 | +- README files within each root directory containing information on the folder's |
| 97 | + purpose and usage |
| 98 | +- Frontend documentation available after deployment at |
| 99 | + `http://localhost:3000/documentation` |
0 commit comments