Skip to content

Commit 3f70c0e

Browse files
committed
Merge branch 'main' of github.com:maxr21/belgiumsquad
2 parents 8a0eeb8 + ba0cb01 commit 3f70c0e

8 files changed

Lines changed: 35 additions & 117 deletions

File tree

‎README.md‎

Lines changed: 2 additions & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -1,105 +1,3 @@
1-
# Data and Software Belgium Blog - Summer 2025
1+
# Best Life App Development Blog
22

3-
This repository contains a template for your Team's Blog. It is a Hugo-based blog uses a customized Blowfish theme. Blowfish supports multiple authors.
4-
5-
## Local Development Setup
6-
7-
**Note:** Everyone needs a GitHub account!
8-
9-
<!-- ### Prerequisites
10-
11-
- Git
12-
- Hugo (Extended version) -->
13-
14-
### Installing Hugo
15-
16-
#### Installing Hugo on macOS
17-
18-
Using Homebrew:
19-
20-
```bash
21-
brew install hugo
22-
```
23-
24-
#### Installing Hugo on Windows
25-
26-
1. Download the latest release from [Hugo Releases](https://github.com/gohugoio/hugo/releases)
27-
2. Extract the downloaded zip file
28-
3. Add the Hugo executable to your system PATH
29-
30-
### Getting Started
31-
32-
1. One team member needs to fork the repo. We'll refer to this team member as the _blog owner_. **Change the name to your team name if you have one. If not, no better time to come up with one.**
33-
1. The blog owner should add remaining team members as collaborators in GitHub. you can do this from the repo's Settings Tab > Collaborators and Teams. Each team member will receive an invitation to join the repo via email which they will need to accept.
34-
1. Clone the team's repository:
35-
36-
```bash
37-
git clone [repository-url]
38-
cd
39-
```
40-
41-
2. Start the development server:
42-
43-
```bash
44-
hugo server -D
45-
```
46-
47-
The site will be available at `http://localhost:1313`
48-
49-
## Adding New Authors
50-
51-
1. For each Team Member, update the `data/authors` folder to include a new `.json` file based on the examples included.
52-
2. For each Team Member, create a new folder in `content`. Inside each, add an `_index.md` file
53-
54-
## Creating New Content
55-
56-
### Basic Post Structure
57-
58-
1. Create a new markdown file in your author directory or in `content/team_posts/`
59-
2. Use the following frontmatter structure:
60-
61-
```markdown
62-
---
63-
title: "Your Post Title"
64-
description: "Brief description of your post"
65-
date: YYYY-MM-DD
66-
draft: false
67-
tags: ["tag1", "tag2"]
68-
categories: ["category1"]
69-
authors:
70-
- "eric_gerber"
71-
- "mark_fontenot"
72-
---
73-
```
74-
75-
### Markdown Basics
76-
77-
- Use `#` for headings (e.g., `# Heading 1`, `## Heading 2`)
78-
- Use `*` or `_` for emphasis (`*italic*`, `**bold**`)
79-
- Create lists with `-` or `1.`
80-
- Create links with `[text](url)`
81-
- Create code blocks with triple backticks (```)
82-
83-
## Working with Images and Assets
84-
85-
### Adding Images
86-
87-
1. Place your images in the `assets` directory
88-
2. Reference images in your markdown using the following syntax:
89-
90-
```markdown
91-
![Alt text](/your-image.jpg)
92-
```
93-
94-
### Best Practices for Images
95-
96-
- Use descriptive filenames
97-
- Optimize images for web use
98-
- Recommended formats: JPG for photos, PNG for graphics with transparency
99-
- Keep image sizes reasonable (recommended max width: 1200px)
100-
101-
## Additional Resources
102-
103-
- [Hugo Documentation](https://gohugo.io/documentation/)
104-
- [Markdown Guide](https://www.markdownguide.org/)
105-
- [Blowfish Theme Documentation](https://blowfish.page/)
3+
Best Life is a web app developed in Leuven, Belgium by four Northeastern University students on a Dialogue of Civilizations focused on data and software in international government and politics. It provides insight in Europeon Union member states on how a user can improve their own or others' quality of life based on a set of priorities. This blog provides an overview of our app development process and details each team member's contributions to this project.

‎assets/er_diagrams-01.jpg‎

-33.9 KB
Loading

‎assets/er_diagrams-02.jpg‎

-36.8 KB
Loading

‎assets/er_diagrams-03.jpg‎

37.3 KB
Loading

‎assets/er_diagrams-04.jpg‎

-44.6 KB
Loading

‎content/AretiMakropoulos/aboutAreti.md‎

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,6 @@ showAuthorsBadges : false
1212

1313
# About Areti Makropoulos
1414

15-
<div style="float: right; margin-left: 20px; width: 250px;">
16-
<img src="areti.jpg" alt="Areti Pic" style="width: 100%;" />
17-
</div>
18-
1915
Hey! My name is Areti Makropoulos, and I am a CS student at Northeastern University. I am currently studying abroad in Belgium to expand my technical skills and gain a broader understanding of cultural and international government. Learning more about databases in CS 3200 and working on a team project allows me to continue learning and applying my skills.
2016

2117
## Favorites In Belgium

‎content/team_posts/phase4.md‎

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,6 @@ authors:
1313
showAuthorsBadges: false
1414
---
1515

16-
Create new team and individual blog posts which
17-
18-
- demonstrate fundamental understanding of ML models and their
19-
implementation in the software architecture
20-
- Incl. verifying checking of all model assumptions and predictive
21-
checks (things not included in the web app)
22-
- describe software architecture and final version of database model
23-
2416
# Project: Phase 4 Deliverable
2517

2618
## ML Models
@@ -67,4 +59,36 @@ Ultimately, it seems that our residual plots are not the best, so some assumptio
6759

6860
## Software Architecture
6961

62+
The Best Life application uses a three tier architecture with the frontend built in Streamlit which communicates with Flask REST API and the backend with a MySQL database where data is stored.
63+
64+
### UI Layer
65+
66+
### REST API Layer
67+
68+
A great description of the endpoints of our API lies in our REST API Matrix as seen below.
69+
70+
<div style="width: 640px; height: 480px; margin: 10px; position: relative;"><iframe allowfullscreen frameborder="0" style="width:640px; height:480px" src="https://lucid.app/documents/embedded/7c38fc78-a0ca-4f35-a835-330b3ea030ba" id="qcroFt0rlEWb"></iframe></div>
71+
72+
### Database Layer
73+
74+
The database layer contains 12 entities and is further described in the section below.
75+
7076
## Database Model
77+
78+
The final database model is best displayed in our updated entity relationship diagram and relational mapping. Here is the global relational mapping.
79+
80+
<div style="width: 640px; height: 480px; margin: 10px; position: relative;"><iframe allowfullscreen frameborder="0" style="width:640px; height:480px" src="https://lucid.app/documents/embedded/6399ce45-7fe8-4d5b-b456-1b6e986de67d" id="XoqoXAboBGN4"></iframe></div>
81+
82+
In our database model we have 12 entities which structure and organize our data for our Best Life application.
83+
84+
**ML_Score_US**, **ML_Score**, and **Predicted_Score** store the data used by our machine learning models. **ML_Score_US** contains the unstandardized scores of each country by year for our factors of health, education, safety, and environment as well as the quality of life score. **ML_Score** stores the standardized version of the same attributes, used for the cosine similary ML model. **Predicted_Score** holds the the weights and lags produced by our times series autoregressive model, allowing for prediction.
85+
86+
**User** and **User_Role** support user login with role based experiences. **User** stores the specific information about the user and **User_Role** allows for each **User** to have a role, ensuring the features and pages accessible to the user.
87+
88+
**Country** plays a crucial role with many relationships as much of our data being stored is country specific, this table is referenced by many entities. Additionally, **Factor** contains the names of the four key areas which is health, education, safety, or environment, allowing for consistent referencing.
89+
90+
**University** stores information on top universities within each country which assists the prospective university student persona in evaluating academic opportunities. **Preference** stores the user's selections regarding how much they weigh the value of each factor (health, education, safety, environment) enabling personalized country recommendation.
91+
92+
For the policymaker persona, **Similarity** provides data on countries similar to another country derived from cosine similarity calculations which enables them to explore comparative insights. **Policy_News** stores web-scraped recent policy artices for each country allowing policymakers to stay informed and make well informed decisions.
93+
94+
**Organization** contains information about organizations in specific countries addressing certain factors, so activists can find causes aligned with their interests.

‎data/authors/maxrobinson.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
2-
"name": "maxrobinson",
2+
"name": "Max Robinson",
33
"bio": "2nd year Northeastern Student studying Computer Science and Mathematics"
44
}

0 commit comments

Comments
 (0)