{"id":16393535,"url":"https://github.com/francescocoding/dojodraw","last_synced_at":"2025-09-22T03:36:06.602Z","repository":{"id":240955203,"uuid":"784296790","full_name":"FrancescoCoding/DojoDraw","owner":"FrancescoCoding","description":"🥋 A full-stack Karate Kid themed raffle application I made from scratch","archived":false,"fork":false,"pushed_at":"2024-05-27T09:55:34.000Z","size":524,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-21T09:07:07.969Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://dojodraw.netlify.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FrancescoCoding.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-09T15:15:22.000Z","updated_at":"2024-11-09T13:10:35.000Z","dependencies_parsed_at":"2024-05-21T16:45:42.156Z","dependency_job_id":"4ebb99dc-0f51-4d8f-9a75-2b48eccf4890","html_url":"https://github.com/FrancescoCoding/DojoDraw","commit_stats":null,"previous_names":["francescocoding/dojodraw"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/FrancescoCoding/DojoDraw","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FrancescoCoding%2FDojoDraw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FrancescoCoding%2FDojoDraw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FrancescoCoding%2FDojoDraw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FrancescoCoding%2FDojoDraw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FrancescoCoding","download_url":"https://codeload.github.com/FrancescoCoding/DojoDraw/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FrancescoCoding%2FDojoDraw/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265276486,"owners_count":23739207,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T04:53:32.358Z","updated_at":"2025-09-22T03:36:01.554Z","avatar_url":"https://github.com/FrancescoCoding.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🖥️ Web Server Setup Guide\n\nThis guide provides instructions for setting up the web server on a fresh Ubuntu server. It covers the installation of Docker and Docker Compose. The installation of Node.js and other dependencies such as npm packages are handled by Docker, as specified in the Dockerfiles for both the frontend and backend. For example, both Dockerfiles use the `node:16` image as a base, ensuring that Node.js is available without requiring a separate installation on the host system. Additionally, dependencies are installed within the containers using `RUN npm install`, eliminating the need for Node.js and npm on the Ubuntu server outside of Docker. This approach focuses on Docker as the primary requirement for running DojoDraw.\n\n\u003e [!NOTE]  \n\u003e Please note that this local setup utilises a connection URI for MongoDB Atlas, specified within the environment variables to enhance security. Due to the firewall settings on the Robert Gordon University (RGU) network, this local setup might not work as expected when connected to the RGU network. For convenience and to ensure accessibility, a live version of this application is hosted on the [live link](https://dojodraw.netlify.app/) below. This ensures that you can evaluate and interact with the application without facing connectivity issues imposed by network restrictions.\n\n\n## 🌐 [DojoDraw Live link](https://dojodraw.netlify.app/) (hosted on Netlify \u0026 Google Cloud)\n\n## 📋 Prerequisites\n\n- A fresh Ubuntu server\n- Root or sudo access\n\n## 🚀 Automatic Setup Instructions\n\nYou can automatically download and run the setup script using the following command. This command will download the `setup.sh` script, make it executable, and then run it, performing all necessary setup steps.\n\n```bash\ncurl -o setup.sh https://raw.githubusercontent.com/FrancescoCoding/DojoDraw/main/setup.sh?token=\u003cget-from-owner\u003e \u0026\u0026 chmod +x setup.sh \u0026\u0026 sudo ./setup.sh\n```\n\n## 🔧 Post-Setup\n\nAfter completing the setup steps, the web server should be running. You can verify its status by accessing the server's IP address on the configured ports.\n\nWith the current setup, ports so far are:\n\n- http://localhost:5173/ Frontend\n- http://localhost:3000/ Backend\n\n## 🛠️ Manual Setup Instructions\n\nIf the automatic setup encounters problems, switching to the manual instructions allows for detailed troubleshooting of each step. This method helps pinpoint and resolve issues more effectively.\n\n### Step 1: Update the Server\n\nEnsuring the package lists and installed packages are up to date by running the following commands in the Ubuntu terminal.\n\n```bash\nsudo apt-get update\nsudo apt-get upgrade -y\n```\n\n### Step 2: Install Docker\n\nInstall Docker to manage the containers.\n\n```bash\nsudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common\ncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -\nsudo add-apt-repository \"deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable\"\nsudo apt-get update\nsudo apt-get install -y docker-ce\n```\n\n### Step 3: Install Docker Compose\n\nInstall Docker Compose to manage multi-container Docker applications.\n\n```bash\nsudo curl -L \"https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)\" -o /usr/local/bin/docker-compose\nsudo chmod +x /usr/local/bin/docker-compose\n```\n\n### Step 4: Clone the DojoDraw Project\n\nClone the project repository from GitHub.\n\n```bash\ngit clone https://github.com/FrancescoCoding/DojoDraw\ncd coursework-FrancescoCoding\n```\n\n### Step 5: Set Up Environment Variables\n\nRename the `.env.example` file to `.env` in the`backend` directory.\nTo maintain security, the `.env` file is not included in the repository.\nThe only thing missing is the MONGO_URI \u003cPASSWORD\u003e, which is the connection URI for MongoDB Atlas.\nThis will need to be obtained by the project owner and added to the `.env` file.\n\nYou can also create a different database and add the connection URI to the `.env` file. This will allow you to run the application with your own database, as all the necessary collections will be created automatically.\n\n```bash\nSERVER_PORT=8080\nMONGO_URI=mongodb+srv://francesco:\u003cPASSWORD\u003e@cluster0.zcq46lg.mongodb.net/DojoDraw\nNODE_ENV=development\n```\n\n### Step 6: Start the Web Server\n\nUse Docker Compose to build and start the web server.\n\n```bash\ndocker-compose up -d\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrancescocoding%2Fdojodraw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrancescocoding%2Fdojodraw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrancescocoding%2Fdojodraw/lists"}