Skip to content

Commit

Permalink
Merge pull request #2 from UpstateWomenInSoftwareEngineering/kara/set…
Browse files Browse the repository at this point in the history
…up-basic-env

Initial Setup
  • Loading branch information
JenBauer authored Oct 10, 2024
2 parents 7ca1ccb + 3b3c4dd commit 683b395
Show file tree
Hide file tree
Showing 1,744 changed files with 191,495 additions and 1 deletion.
3 changes: 3 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
node_modules
npm-debug.log
.env
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.env
15 changes: 15 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
FROM node:lts

WORKDIR /usr/src/app

COPY package*.json ./

RUN npm install

COPY . .

# Using a custom port to avoid conflicts with the other applications - @kmansel
EXPOSE 4013

# Start the server
CMD ["node", "server.js"]
16 changes: 15 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,15 @@
# study_helper
# study_helper

This is a *yet-to-be-named* project created by [UpWiSE](https://upwisesc.org/)

Most folks know how to use ChatGPT or other generative AI tools to gather information, but not necessarily to their best ability.

We'd like to build a useful AI tool to help people who want to study something, but are overwhelmed with the sheer number of resources there are to learn the concepts. We'll start with useful software engineering skills so this will be immediately useful to our community, but the concept can apply to anything you desire.

The ultimate goal is to alleviate "analysis paralysis" and let the tool design a curriculum for you.

Given the time the user has to study (5 min to 2 hours), the tools they have available (smartphone, tablet, laptop, pen and paper, books, etc), the environment you are in (home, airplane, coffee shop, etc), and other specific preferences, the app will return a study guide in a friendly and exportable format and include options for audio, video, text based, and interactive learning.

More to come on the use cases for this tool!

*This is a 🎃#Hacktoberfest2024 project and collaborators are welcome*
17 changes: 17 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
version: '3'
services:
backend:
build:
context: .
dockerfile: Dockerfile
environment:
- OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }}
ports:
- "4013:4013"

frontend:
build:
context: ./frontend
dockerfile: Dockerfile
ports:
- "8080:80"
5 changes: 5 additions & 0 deletions frontend/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
FROM nginx:alpine

COPY index.html /usr/share/nginx/html/

EXPOSE 80
56 changes: 56 additions & 0 deletions frontend/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Beyoncé Lyrics Generator</title>
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap" rel="stylesheet">
<style>
body {
background-color: #000;
color: #fff;
font-family: 'Roboto', sans-serif;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
height: 100vh;
margin: 0;
}
.output-container {
text-align: center;
margin: 20px;
}
button {
padding: 10px 20px;
font-size: 16px;
margin-top: 20px;
cursor: pointer;
}
</style>
</head>
<body>
<div class="output-container">
<p id="output-text">Click the button to generate Beyoncé lyrics🐝...</p>
<button id="generate-beyoncelyrics">Give me some Beyoncé lyrics 🎶</button>
</div>

<script>
async function generateBeyonceLyrics() {
document.getElementById('output-text').textContent = 'Generating Beyoncé lyrics...';

try {
const response = await fetch('http://localhost:4013/beyoncelyrics');
const data = await response.json();

document.getElementById('output-text').textContent = data.beyoncelyrics;
} catch (error) {
console.error('Error generating beyoncelyrics:', error);
document.getElementById('output-text').textContent = 'Failed to generate Beyoncé lyrics. Please try again.';
}
}

document.getElementById('generate-beyoncelyrics').addEventListener('click', generateBeyonceLyrics);
</script>
</body>
</html>
1 change: 1 addition & 0 deletions node_modules/.bin/mime

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/openai

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 683b395

Please sign in to comment.