https://github.com/tylerchristensen100/catalog
University Program Catalog. A Program catalog for universities to manage their program & course offerings while also giving a interface for students and potential students to see the universities offerings.
https://github.com/tylerchristensen100/catalog
capstone education golang gotemplate
Last synced: 7 months ago
JSON representation
University Program Catalog. A Program catalog for universities to manage their program & course offerings while also giving a interface for students and potential students to see the universities offerings.
- Host: GitHub
- URL: https://github.com/tylerchristensen100/catalog
- Owner: Tylerchristensen100
- License: agpl-3.0
- Created: 2025-04-27T00:35:27.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-27T00:58:08.000Z (about 1 year ago)
- Last Synced: 2025-04-30T04:34:17.167Z (about 1 year ago)
- Topics: capstone, education, golang, gotemplate
- Language: Go
- Homepage: https://capstone.freethegnomes.org/
- Size: 139 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Capstone - Program Catalog
Table of Contents
### Built With
[](https://go.dev/)
[](https://react.dev/)
## Usage
This is the University's official Program Catalog, designed to inform students about available academic programs and courses. It includes all necessary requirements to facilitate informed enrollment decisions.
## Key Features
* **Server-Side Rendered Program Catalog (Go Templates):** Delivers a fast and SEO-friendly program catalog by rendering content on the server using Go templates before sending it to the browser.
* **Intuitive Admin Dashboard (React):** Provides a user-friendly administrative interface built with React for faculty to easily manage and update program and course information.
* **Seamless Access Management with SSO:** Integrates Single Sign-On (SSO) for secure and convenient access management for authorized users.
* **Flexible Style Customization:** Offers comprehensive style customization options to align the catalog's appearance with your institution's branding.
## Getting Started
### Deploy Options
#### Remote
- Frontend is hosted at https://capstone.freethegnomes.org/
- Admin dashboard is [https://admincatalog.freethegnomes.org/](https://admin_capstone.freethegnomes.org/)
- API is hosted at https://capstone.freethegnomes.org/api/
---
#### Local
- Install [Docker](https://www.docker.com/products/docker-desktop/)
- [Clone Repo](https://github.com/Tylerchristensen100/CS4900.git)
- In the repo run `$ docker-compose up`
- Site can be found at http://localhost:3100/
- Public site is at /
- Admin dashboard is at /admin/
- API Docs are at /api/docs
### Guide:
To deploy this application, follow these steps:
1. **Clone Repository:** Obtain a local copy of the project repository using Git:
```bash
git clone https://github.com/Tylerchristensen100/CS4900
```
2. **Docker Prerequisites:** Ensure that Docker is installed and running on your system. Refer to the official Docker documentation for installation instructions if needed.
3. **Project Setup:** Open the cloned repository in your preferred code editor.
4. **Global Styles Configuration:** Customize the global styles for both the public site and the administrative dashboard by modifying the `./core/vars.css` file.
5. **Environment Variable Configuration:** Configure the necessary environment variables by editing the `.env` file located in the project root.
6. **Deployment:** Deploy the application using Docker Compose with the following command executed from the project root directory:
```bash
docker compose up -d
```
*(The `-d` flag runs the containers in detached mode.)*
### ERD

## Customization
* **CSS Styling (`./core/`):** Modify CSS files within this directory to adjust the application's visual design.
* **SSO Configuration (`.env`):** Configure Single Sign-On integration by setting relevant environment variables.
* **Database Configuration (`.env`):** Define database connection parameters via environment variables.
## Contributing
We warmly welcome contributions to enhance and improve this project! We are happy to receive pull requests that introduce new features, address bugs, or improve existing functionality.
## Acknowledgments
* [README Template](https://github.com/othneildrew/Best-README-Template)
* [UVU](https://uvu.edu)
* [UVU Web](https://github.com/UVU-WDS)