{"id":18647533,"url":"https://github.com/devsoft112/betting-dashboard-react-node-ts","last_synced_at":"2025-10-30T17:32:04.657Z","repository":{"id":258839498,"uuid":"857841960","full_name":"devsoft112/betting-dashboard-react-node-ts","owner":"devsoft112","description":"This project is a full-stack application for an online betting dashboard. It includes a React frontend and a Node.js backend using Typescript with a PostgreSQL database. The frontend allows users to view sports events and place bets, while the backend provides the necessary API endpoints.","archived":false,"fork":false,"pushed_at":"2024-10-20T20:11:13.000Z","size":295,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-27T12:12:00.451Z","etag":null,"topics":["expressjs","javascript","nodejs","react","typescript"],"latest_commit_sha":null,"homepage":"","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/devsoft112.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-09-15T18:40:29.000Z","updated_at":"2024-11-13T20:07:36.000Z","dependencies_parsed_at":"2024-10-28T01:47:32.767Z","dependency_job_id":null,"html_url":"https://github.com/devsoft112/betting-dashboard-react-node-ts","commit_stats":null,"previous_names":["devsoft112/betting-dashboard-react-node-ts"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsoft112%2Fbetting-dashboard-react-node-ts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsoft112%2Fbetting-dashboard-react-node-ts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsoft112%2Fbetting-dashboard-react-node-ts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsoft112%2Fbetting-dashboard-react-node-ts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devsoft112","download_url":"https://codeload.github.com/devsoft112/betting-dashboard-react-node-ts/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239449584,"owners_count":19640535,"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":["expressjs","javascript","nodejs","react","typescript"],"created_at":"2024-11-07T06:26:48.873Z","updated_at":"2025-10-30T17:31:59.617Z","avatar_url":"https://github.com/devsoft112.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Betting Dashboard\n\nThis project is a full-stack application for an online betting dashboard. It includes a React frontend and a Node.js backend using Typescript with a PostgreSQL database. The frontend allows users to view sports events and place bets, while the backend provides the necessary API endpoints.\n\n## Features\n- View a list of sports events with odds.\n- Place bets on sports events.\n- User authentication with JWT.\n- Responsive design.\n\n## Prerequisites\n- Node.js (version 18.17.1 or higher)\n- Docker\n- Docker Compose\n\n## Installation\n\n### Backend Setup\n1. Navigate to the server directory:\n    ```bash\n    cd server\n    ```\n2. Install dependencies:\n    ```bash\n    npm install\n    ```\n3. Create a `.env` file in the server directory and configure the following environment variables:\n    ```env\n    PORT=5000\n    DB_USERNAME=postgres\n    DB_PASSWORD=root\n    DB_HOST=127.0.0.1\n    DB_PORT=5432\n    DB_NAME=bettingdb\n    ```\n4. Start the backend server:\n    ```bash\n    npm run dev\n    ```\n\n### Frontend Setup\n1. Navigate to the dashboard-ui directory:\n    ```bash\n    cd dashboard-ui\n    ```\n2. Install dependencies:\n    ```bash\n    npm install\n    ```\n3. Create a `.env` file in the dashboard-ui directory and configure the following environment variable:\n    ```env\n    REACT_APP_BASE_API_URL=http://localhost:5000/api\n    ```\n4. Start the frontend development server:\n    ```bash\n    npm start\n    ```\n\n### Docker Setup\nTo run the entire application using Docker, follow these steps:\n\n1. Ensure you are in the root directory of the project (one level above `dashboard-ui` and `server` directories).\n2. Create a `.env` file in the root directory and configure the following environment variables:\n    ```env\n    DB_USERNAME=postgres\n    DB_PASSWORD=root\n    DB_HOST=db\n    DB_PORT=5432\n    DB_NAME=bettingdb\n    ```\n3. Build and start the Docker containers:\n    ```bash\n    docker-compose up --build\n    ```\n    This command will build and start the React frontend, Node backend, and PostgreSQL database in separate containers. The frontend will be accessible at [http://localhost:3000](http://localhost:3000), and the backend API will be accessible at [http://localhost:5000](http://localhost:5000).\n\n## Environment Variables\nHere are the environment variables used in this project:\n\n### Backend (`server/.env`)\n```env\nPORT=5000\nDB_USERNAME=postgres\nDB_PASSWORD=root\nDB_HOST=127.0.0.1\nDB_PORT=5432\nDB_NAME=bettingdb\n```\n\n### Frontend (`dashboard-ui/.env`)\n```env\nREACT_APP_BASE_API_URL=http://localhost:5000/api\n```\n\n### Root (`.env`)\n```env\nDB_USERNAME=postgres\nDB_PASSWORD=root\nDB_HOST=db\nDB_PORT=5432\nDB_NAME=bettingdb\n```\n\n## Usage\nOnce the Docker containers are up and running:\n\n- Open your browser and navigate to [http://localhost:3000](http://localhost:3000) to access the frontend.\n- The backend API will be available at [http://localhost:5000/api](http://localhost:5000/api).\n- You can interact with the application to view sports events, place bets, and manage user authentication.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevsoft112%2Fbetting-dashboard-react-node-ts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevsoft112%2Fbetting-dashboard-react-node-ts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevsoft112%2Fbetting-dashboard-react-node-ts/lists"}