chronicles-client

Chronicles Projects @ Boston College - Client Interface

https://github.com/bcdigschol/chronicles-client

Science Score: 52.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
    Organization bcdigschol has institutional domain (ds.bc.edu)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.6%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Chronicles Projects @ Boston College - Client Interface

Basic Info
  • Host: GitHub
  • Owner: BCDigSchol
  • License: other
  • Language: TypeScript
  • Default Branch: main
  • Size: 316 KB
Statistics
  • Stars: 0
  • Watchers: 3
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 2 years ago · Last pushed 10 months ago
Metadata Files
Readme Contributing License Code of conduct Citation

README.md

chronicles-client

Chronicles Projects @ Boston College - Client Interface

  • Maia McAleavey, Principal Investigator
  • Anastasia Prussakova, Research Assistant
  • David J. Thomas, Developer
  • Ashlyn Stewart, Project Manager

Full Stack (MySQL ExpressJS Angular NodeJS) app for browsing the proceedings of conferences in Medieval Studies.


Installation

Current installation is on a Docker setup.

Install docker, and docker-compose locally. Then clone this repo and move inside the directory.

sh git clone https://github.com/BCDigSchol/chronicles-client.git cd chronicles-client

Thenm, modify the following files with your desired accounts/passwords/ports

``` sh

you must change the server_name and redirect to have the url to which you are deploying

sudo nano nginx/conf/default.conf

client angular settings file MUST contain the IP of the backend

sudo nano src/app/app.settings.ts

the docker config file MUST contain your domain main in the certbot command line

sudo nano docker-compose.yml ```

Run docker compose up -d.

Now, bring the containers down with docker compose down. Then edit the /nginx/conf/default.conf file and uncomment out the lower server block to enable HTTPS traffic. Make sure to replace the server_name with your relevant URLs. Then, bring the containers back up with docker compose up -d.

Finally, set the certbot to autorenew.

sh docker compose run --rm certbot renew

Now uncomment out the second server block code in /nginx/conf/default.conf. Make SURE to put your URL in each relevant spot or the server will not boot correctly.

Finally, restart the server!

sh docker compose restart

If you have problems and the docker container keeps restarting, the certbot might not have run correctly. To fix this, first, bring down the container with docker compose down. Then, re-comment out the SSH lines in your nginx/nginx.conf file. Now, bring the image back up with docker compose up -d. Then run the command docker compose run --rm certbot certonly --webroot --webroot-path /var/www/certbot/ --email sample@your_domain --agree-tos --no-eff-email -d your_domain -d www.your_domain. Once it is complete, un-comment out the nginx/nginx.conf file and docker compose up -d to get it started.

Develop Locally

If you want to develop locally, you can ignore the docker instructions for the client. First, make sure to set up the server for local development. Once it is started, make sure that your settings in src/app/app.settings.ts points to the local instance. If you use the server's default values, this should already be the case. Then, run ng serve inside the src directory to run the client locally on port 4200.

Test

To run tests, make sure you are in the src directory. Then run ng test.


Customization

How to Change Site Title/Byline

Edit the src/app.settings.ts file to change any desired display or site information.

How to Change the Fonts

Go to fonts.google.com and select two fonts, one for headers and one for body text. Once you have selected two styles, look under the "Use on the Web" pane in the bottom right. Click the @import option and copy the code BETWEEN the two <style> tags (but don't copy the style tags themselves). Then, go to src/styles.scss and REPLACE the previous line with the new statement (just below where it says 'import google fonts').

Then, at the end of src/styles-settings.scss, replate the names of the header/body fonts with your new fonts.

How to Change the Landing Page

Unfortunately, the landing page does take a little knowledge of Angular to edit. But, you might be able to figure your way around the templates. The files are all located in the src/components/home folder and its subdirectories.

Owner

  • Name: Digital Scholarship@Boston College Libraries
  • Login: BCDigSchol
  • Kind: organization
  • Email: digschol-ggroup@bc.edu

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: McAleavey
    given-names: Maia
    orcid: https://orcid.org/0009-0003-5419-1922
  - family-names: Thomas
    given-names: David
    orcid: https://orcid.org/0000-0001-5494-6297
  - family-names: Stewart
    given-names: Ashlyn
    orcid: https://orcid.org/0009-0003-7151-9678
title: "Chronicles - Client"
abstract: "Chronicles - Client"
version: 0.0.1
date-released: "2023-10-5"
license: "CC-BY-NC-SA-4.0"
repository-code: "https://github.com/BCDigSchol/chronicles-client"

GitHub Events

Total
  • Push event: 1
  • Public event: 1
Last Year
  • Push event: 1
  • Public event: 1

Dependencies

docker-compose.yml docker
  • certbot/certbot latest
src/Dockerfile docker
  • nginx alpine build
  • node 18-alpine build
src/package-lock.json npm
  • 960 dependencies
src/package.json npm
  • @angular-devkit/build-angular ^16.2.5 development
  • @angular/cli ^16.2.5 development
  • @angular/compiler-cli ^16.2.0 development
  • @types/jasmine ~4.3.0 development
  • autoprefixer ^10.4.16 development
  • jasmine-core ~4.6.0 development
  • karma ~6.4.0 development
  • karma-chrome-launcher ~3.2.0 development
  • karma-coverage ~2.2.0 development
  • karma-jasmine ~5.1.0 development
  • karma-jasmine-html-reporter ~2.1.0 development
  • postcss ^8.4.31 development
  • tailwindcss ^3.3.3 development
  • typescript ~5.1.3 development
  • @angular/animations ^16.2.0
  • @angular/cdk ^16.2.8
  • @angular/common ^16.2.0
  • @angular/compiler ^16.2.0
  • @angular/core ^16.2.0
  • @angular/forms ^16.2.0
  • @angular/material ^16.2.8
  • @angular/platform-browser ^16.2.0
  • @angular/platform-browser-dynamic ^16.2.0
  • @angular/router ^16.2.0
  • rxjs ~7.8.0
  • tslib ^2.3.0
  • zone.js ~0.13.0