Skip to content

Purple-Chicken/javascript-makes-me-vomit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

148 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Software Engineering Group Repository

Contributors: Stephen, Hasan, Adam, Ivan, Ellis, Hongzhan

What is this?

This is an open chat interface for both personal use and for hosting. The intended audience is the power user, which values privacy, customization, and a cool aesthetic.

Key Features

  • Matrix Rain Background
  • Login without Google
  • Themes and Colors
  • Temporary Chats
  • Save and delete Chat History
  • Model Selection
  • External API integration
  • Token Count (local models only)
  • Weather Report tool (experimental)
  • Calculator Tool (experimental)

How is it structured?

This whole stack uses three Docker containers:

  1. MongoDB Database
  2. Ollama AI
  3. SHA-257 Frontend and API

Our stack features:

  • MongoDB for the DB
  • ExpressJS for the API
  • Vite for the frontend
  • NodeJS for the runtime

Additional tools include Docker, Jasmine, CucumberJS, Puppeteer.

How to run in Production Environment?

You can run the following command on any server which has git, docker, and docker-compose:

git clone https://github.com/Purple-Chicken/javascript-makes-me-vomit.git ; 
npm run docker:prod

And when you run docker ps -a, you should see the three containers.

When you want to shut down, you simply run npm run docker:prod:down to take down all the containers.

Docker Compose

The 3 main conatiners we have running are ollama for the local AI hosting, MongoDB for the noSQL database, and sha257 for the frontend and API.

In a dev environment, the sha257 container is ommitted directly. Instead, it uses your local version of the project directory. You can change it live, and interact with the DB and the AI.

In a prod environment, the project directory is cloned into a docker container, which then is built and served over the standard port 5000.

How do I contribute?

First, make sure you have the project dependencies installed: python3, git, npm, docker, node.

Second, make sure you have the repo locally:

git clone https://github.com/Purple-Chicken/javascript-makes-me-vomit.git 

Once you cd into the repository, you are all set! You can run the dev environment using:

npm run docker:dev

And if you want to shutdown the service, you would run npm run docker:dev:down

How do I use Git?

Typical session

When starting your session, it's important to create a new branch for a feature. You make a new branch by running:

git branch -b [new-branch-name]

This way, you don't push directly to main and put potentially risky code in production.

If you want to work on an existing branch, you can run:

git checkout [existing-branch-name]

Once you have done something (can be a small commit), you can stage your changesand create a commit by running:

git add [path/to/file(s)] ; 
git commit -m "[insert message here]" ; 

After you have a few commits, you can sync to remote.

You can monitor your progress with git status. It tells you what branch you are working on, how many commits you are ahead/behind,

If you have created a new branch

git push --set-upstream origin [new-branch-name]

And, assuming you are are not on main, you can push onto your branch.

In GitHub, you can make a pull request if you want to merge to main.

About

jippity clanker clone

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors