The Ed-Fi Admin Console presents a graphical user interface (GUI) environment for managing deployments of the Ed-Fi ODS/API in multi-tenant enviroments.
The original source code was generously donated by the Texas Education Service Center Region 4.
- Clone both project, Admin Console (this repo) and the SDK in the same folder. Example: C:/dev/ed-fi/Admin-Console
- Node.js v16+ to run. (v18.12.1 used for development).
- IdP (Keycloak, Azure B2C, Amazon Cognito, etc)
-
Currently fully supporting Keycloak.
-
Use Keycloak in docker using the following command:
docker run -p 28080:8080 -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=admin quay.io/keycloak/keycloak:25.0.6 start-dev
And follow the steps to create a realm, client and user: Keycloak: Getting Started with Docker
-
Realm: myrealm
-
Client: ac
-
Root url: http://localhost:8598
-
Valid redirect uri: http://localhost:8598/callback
-
Web origin: http://localhost:8598/
-
- ODS/API
- Move to the SDK folder and install dependencies in the EDX SDK using the following command:
npm install - Build the SDK using the command:
npm run build. Any change in the SDK has to be built it again using this command. - Install the Admin Console dependencies using the command:
npm install. - Verify you have the config.json file. You can use the config.example.json as example.
- Run the Admin Console using:
npm run dev.
The frameworks and libraries used are the following:
- React
- Typescript
- Vite (react-ts template)
- Chakra UI
Ed-Fi-Admin-Console/docker/- sample setup for running the application locally.docs/- markdown-based developer documentationpublic- contains public/static assets (e.g. images)src- core source code
Copyright (c) 2024 Ed-Fi Alliance, LLC and contributors.
Licensed under the Apache License, Version 2.0 (the "License").
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
See NOTICES for additional copyright and license notifications.