{"id":19721951,"url":"https://github.com/devroost/hi1","last_synced_at":"2026-04-10T12:33:39.602Z","repository":{"id":249311914,"uuid":"831166507","full_name":"DevRoost/hi1","owner":"DevRoost","description":"This repository was created by Flatlogic Platform: https://flatlogic.com/generator ","archived":false,"fork":false,"pushed_at":"2024-07-19T20:30:34.000Z","size":388,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-28T00:30:25.799Z","etag":null,"topics":["docker","flatlogic","js","low-code","nginx","nodejs","postgresql","react","tailwind","ts"],"latest_commit_sha":null,"homepage":"https://flatlogic.com/projects/25373","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DevRoost.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-07-19T20:27:40.000Z","updated_at":"2024-07-19T20:27:53.000Z","dependencies_parsed_at":"2024-07-20T01:24:00.458Z","dependency_job_id":"10870f99-5fd4-49ac-9065-f233da120ffa","html_url":"https://github.com/DevRoost/hi1","commit_stats":null,"previous_names":["devroost/hi1"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DevRoost/hi1","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevRoost%2Fhi1","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevRoost%2Fhi1/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevRoost%2Fhi1/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevRoost%2Fhi1/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DevRoost","download_url":"https://codeload.github.com/DevRoost/hi1/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevRoost%2Fhi1/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31643057,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T07:40:12.752Z","status":"ssl_error","status_checked_at":"2026-04-10T07:40:11.664Z","response_time":98,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["docker","flatlogic","js","low-code","nginx","nodejs","postgresql","react","tailwind","ts"],"created_at":"2024-11-11T23:16:00.509Z","updated_at":"2026-04-10T12:33:39.582Z","avatar_url":"https://github.com/DevRoost.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\n# hi1\n\n## This project was generated by [Flatlogic Platform](https://flatlogic.com).\n\n  - Frontend: [React.js](https://flatlogic.com/templates?framework%5B%5D=react\u0026sort=default)\n\n  - Backend: [NodeJS](https://flatlogic.com/templates?backend%5B%5D=nodejs\u0026sort=default)\n\n    \u003cdetails\u003e\u003csummary\u003eBackend Folder Structure\u003c/summary\u003e   \n\n    The generated application has the following backend folder structure: \n\n    `src` folder which contains your working files that will be used later to create the build. The src folder contains folders as:\n\n      - `auth` - config the library for authentication and authorization;\n\n      - `db` - contains such folders as:\n\n        - `api` - documentation that is automatically generated by jsdoc or other tools;\n\n        - `migrations` - is a skeleton of the database or all the actions that users do with the database;\n\n        - `models`- what will represent the database for the backend;\n\n        - `seeders` -  the entity that creates the data for the database.\n\n      - `routes` - this folder would contain all the routes that you have created using Express Router and what they do would be exported from a Controller file;\n\n      - `services` - contains such folders as `emails` and `notifications`.   \n    \u003c/details\u003e \n\n  - Database: PostgreSQL\n\n  -----------------------\n### We offer 2 ways how to start the project locally: by running Frontend and Backend or with Docker.\n-----------------------\n\n## To start the project:\n\n### Backend:\n\n\u003e Please change current folder: `cd backend`\n\n#### Install local dependencies:\n`yarn install`\n\n  ------------\n\n#### Adjust local db:\n##### 1.  Install postgres:\n\nMacOS:\n\n`brew install postgres`\n\n    \u003e if you don’t have ‘brew‘ please install it (https://brew.sh) and repeat step `brew install postgres`.\n\nUbuntu:\n\n`sudo apt update`\n\n`sudo apt install postgresql postgresql-contrib`\n\n##### 2. Create db and admin user:\nBefore run and test connection, make sure you have created a database as described in the above configuration. You can use the `psql` command to create a user and database.\n\n`psql postgres --u postgres`\n\nNext, type this command for creating a new user with password then give access for creating the database.\n\n`postgres-# CREATE ROLE admin WITH LOGIN PASSWORD 'admin_pass';`\n\n`postgres-# ALTER ROLE admin CREATEDB;`\n\nQuit `psql` then log in again using the new user that previously created.\n\n`postgres-# \\q`\n\n`psql postgres -U admin`\n\nType this command to creating a new database.\n\n`postgres=\u003e CREATE DATABASE db_{your_project_name};`\n\nThen give that new user privileges to the new database then quit the `psql`.\n\n`postgres=\u003e GRANT ALL PRIVILEGES ON DATABASE db_{your_project_name} TO admin;`\n\n`postgres=\u003e \\q`\n\n  ------------\n\n#### Create database:\n`yarn db:create`\n\n#### Start production build:\n`yarn start`\n\n### Frontend:\n\n\u003e Please change current folder: `cd frontend`\n\n## To start the project with Docker:\n### Description:\n\nThe project contains the **docker folder** and the `Dockerfile`.\n\nThe `Dockerfile` is used to Deploy the project to Google Cloud.\n\nThe **docker folder** contains a couple of helper scripts:\n\n- `docker-compose.yml` (all our services: web, backend, db are described here)\n- `start-backend.sh` (starts backend, but only after the database)\n- `wait-for-it.sh` (imported from https://github.com/vishnubob/wait-for-it)\n\n    \u003e To avoid breaking the application, we recommend you don't edit the following files: everything that includes the **docker folder** and `Dokerfile`.\n\n## Run services:\n\n1. Install docker compose (https://docs.docker.com/compose/install/)\n\n2. Move to `docker` folder. All next steps should be done from this folder.\n\n   ``` cd docker ```\n\n3. Make executables from `wait-for-it.sh` and `start-backend.sh`:\n\n   ``` chmod +x start-backend.sh \u0026\u0026 chmod +x wait-for-it.sh ```\n\n4. Download dependend projects for services.\n\n5. Review the docker-compose.yml file. Make sure that all services have Dockerfiles. Only db service doesn't require a Dockerfile.\n\n6. Make sure you have needed ports (see them in `ports`) available on your local machine.\n\n7. Start services:\n\n   7.1. With an empty database `rm -rf data \u0026\u0026 docker-compose up`\n\n   7.2. With a stored (from previus runs) database data `docker-compose up`\n\n8. Check http://localhost:3000\n\n9. Stop services:\n\n   9.1. Just press `Ctr+C`\n\n## Most common errors:\n\n1. `connection refused`\n\n   There could be many reasons, but the most common are:\n\n  - The port is not open on the destination machine.\n\n  - The port is open on the destination machine, but its backlog of pending connections is full.\n\n  - A firewall between the client and server is blocking access (also check local firewalls).\n\n   After checking for firewalls and that the port is open, use telnet to connect to the IP/port to test connectivity. This removes any potential issues from your application.\n\n   ***MacOS:***\n\n   If you suspect that your SSH service might be down, you can run this command to find out:\n\n   `sudo service ssh status`\n\n   If the command line returns a status of down, then you’ve likely found the reason behind your connectivity error.\n\n   ***Ubuntu:***\n\n   Sometimes a connection refused error can also indicate that there is an IP address conflict on your network. You can search for possible IP conflicts by running:\n\n   `arp-scan -I eth0 -l | grep \u003cipaddress\u003e`\n\n   `arp-scan -I eth0 -l | grep \u003cipaddress\u003e`\n\n   and\n\n   `arping \u003cipaddress\u003e`\n\n2. `yarn db:create` creates database with the assembled tables (on MacOS with Postgres database)\n\n   The workaround - put the next commands to your Postgres database terminal:\n\n   `DROP SCHEMA public CASCADE;`\n\n   `CREATE SCHEMA public;`\n\n   `GRANT ALL ON SCHEMA public TO postgres;`\n\n   `GRANT ALL ON SCHEMA public TO public;`\n\n   Afterwards, continue to start your project in the backend directory by running:\n\n   `yarn start`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevroost%2Fhi1","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevroost%2Fhi1","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevroost%2Fhi1/lists"}