{"id":17712557,"url":"https://github.com/cptcr/website-builder","last_synced_at":"2025-04-21T03:32:26.167Z","repository":{"id":259284936,"uuid":"876932705","full_name":"cptcr/website-builder","owner":"cptcr","description":"A highly advanced website builder which does everything for you!","archived":true,"fork":false,"pushed_at":"2024-10-24T13:43:01.000Z","size":2009,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-16T03:07:48.330Z","etag":null,"topics":["builder","css","custom","ejs","embeddedjs","express","file-upload","github","javascript","json","mit-license","nodejs","nodejs-server","portfolio-template","website"],"latest_commit_sha":null,"homepage":"http://77.90.56.19:4003/","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cptcr.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-10-22T19:46:59.000Z","updated_at":"2025-01-17T10:26:50.000Z","dependencies_parsed_at":"2024-10-24T04:24:01.337Z","dependency_job_id":"32903837-2bd9-4ab7-8791-83a5d38d10c7","html_url":"https://github.com/cptcr/website-builder","commit_stats":{"total_commits":9,"total_committers":1,"mean_commits":9.0,"dds":0.0,"last_synced_commit":"50d4808dac1b93311ec56f90d55ce490d0f76bb1"},"previous_names":["cptcr/website-builder"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cptcr%2Fwebsite-builder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cptcr%2Fwebsite-builder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cptcr%2Fwebsite-builder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cptcr%2Fwebsite-builder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cptcr","download_url":"https://codeload.github.com/cptcr/website-builder/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249991141,"owners_count":21357206,"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":["builder","css","custom","ejs","embeddedjs","express","file-upload","github","javascript","json","mit-license","nodejs","nodejs-server","portfolio-template","website"],"created_at":"2024-10-25T09:05:32.268Z","updated_at":"2025-04-21T03:32:25.833Z","avatar_url":"https://github.com/cptcr.png","language":"CSS","readme":"# Website Builder\r\n\r\nA customizable and extensible website builder that allows you to create a professional portfolio or personal website with ease. Configure your site using simple JSON files, choose from multiple design themes, and deploy it effortlessly.\r\n\r\n## Table of Contents\r\n\r\n- [Features](#features)\r\n- [Getting Started](#getting-started)\r\n  - [Prerequisites](#prerequisites)\r\n  - [Installation](#installation)\r\n  - [Configuration](#configuration)\r\n  - [Available Designs](#available-designs)\r\n- [Usage](#usage)\r\n  - [Running the Application](#running-the-application)\r\n  - [Scripts](#scripts)\r\n- [Project Structure](#project-structure)\r\n- [Contributing](#contributing)\r\n- [License](#license)\r\n\r\n## Features\r\n\r\n- **Easy Configuration**: Customize your website using simple JSON files.\r\n- **Multiple Design Themes**: Choose from various pre-built themes to match your style.\r\n- **Dynamic Content**: Fetches GitHub repositories and Twitch stats to display on your site.\r\n- **Contact Form**: Integrated contact form with email notifications.\r\n- **Blog Support**: Write blog posts in Markdown.\r\n- **File Uploads**: Support for uploading files with configurable storage.\r\n- **Responsive Design**: Mobile-friendly layouts using modern CSS practices.\r\n\r\n## Getting Started\r\n\r\nFollow these instructions to get a copy of the project up and running on your local machine.\r\n\r\n### Prerequisites\r\n\r\n- **Node.js** (v14 or higher)\r\n- **npm** (v6 or higher)\r\n\r\n### Installation\r\n\r\n1. **Clone the repository**\r\n\r\n   ```bash\r\n   git clone https://github.com/cptcr/website-builder.git\r\n   ```\r\n\r\n2. **Navigate to the project directory**\r\n\r\n   ```bash\r\n   cd website-builder\r\n   ```\r\n\r\n3. **Install dependencies**\r\n\r\n   ```bash\r\n   npm install\r\n   ```\r\n\r\n### Configuration\r\n\r\nThe application uses JSON files for configuration. You can generate these files using the interactive setup script.\r\n\r\n1. **Run the setup script**\r\n\r\n   ```bash\r\n   npm run setup\r\n   ```\r\n\r\n2. **Follow the prompts**\r\n\r\n   The script will ask for various details such as site name, GitHub username, design selection, API tokens, personal information, etc.\r\n\r\n3. **Configuration files generated**\r\n\r\n   - `config/config.json`: Main configuration file.\r\n   - `config/mail.config.json`: Mail server configuration for the contact form.\r\n\r\n### Available Designs\r\n\r\nChoose from the following design themes during setup:\r\n\r\n- **default**: Default design with a balanced and classic look.\r\n- **midnight**: A sleek dark theme with deep blues and purples.\r\n- **sunset**: Warm and vibrant colors inspired by a sunset.\r\n- **caprihan**: Cool blues and greens inspired by the island of Capri.\r\n- **ocean**: An oceanic theme featuring teals and deep blues.\r\n\r\n## Usage\r\n\r\n### Running the Application\r\n\r\nTo start the application, use one of the following commands:\r\n\r\n- **Production Mode**\r\n\r\n  ```bash\r\n  npm start\r\n  ```\r\n\r\n- **Development Mode** (with nodemon for automatic restarts)\r\n\r\n  ```bash\r\n  npm run dev\r\n  ```\r\n\r\nThe server will start on the port specified in your `config.json` (default is `3000`).\r\n\r\n### Scripts\r\n\r\n- **Setup**\r\n\r\n  Runs the interactive configuration script.\r\n\r\n  ```bash\r\n  npm run setup\r\n  ```\r\n\r\n- **Start**\r\n\r\n  Starts the server in production mode.\r\n\r\n  ```bash\r\n  npm start\r\n  ```\r\n\r\n- **Dev**\r\n\r\n  Starts the server in development mode with nodemon.\r\n\r\n  ```bash\r\n  npm run dev\r\n  ```\r\n\r\n- **Test**\r\n\r\n  Placeholder for running tests.\r\n\r\n  ```bash\r\n  npm test\r\n  ```\r\n\r\n## Project Structure\r\n\r\n```\r\nwebsite-builder/\r\n├── config/\r\n│   ├── config.json          # Main configuration file\r\n│   └── mail.config.json     # Mail server configuration\r\n├── public/\r\n│   ├── styles/              # CSS files for different themes\r\n│   ├── uploads/             # Uploaded files\r\n│   └── ...                  # Static assets\r\n├── src/\r\n│   ├── functions/\r\n│   │   ├── fetch-repos.js   # Function to fetch GitHub repos\r\n│   │   └── fetch-twitch-stats.js  # Function to fetch Twitch stats\r\n│   ├── markdown/            # Blog posts in Markdown format\r\n│   └── views/               # EJS templates\r\n├── .gitignore\r\n├── index.js                 # Main application file\r\n├── package.json\r\n├── README.md\r\n└── setup.js                 # Interactive setup script\r\n```\r\n\r\n## Contributing\r\n\r\nContributions are welcome! Please follow these steps:\r\n\r\n1. **Fork the repository**\r\n2. **Create a new branch**\r\n\r\n   ```bash\r\n   git checkout -b feature/your-feature-name\r\n   ```\r\n\r\n3. **Commit your changes**\r\n\r\n   ```bash\r\n   git commit -m \"Add your message here\"\r\n   ```\r\n\r\n4. **Push to the branch**\r\n\r\n   ```bash\r\n   git push origin feature/your-feature-name\r\n   ```\r\n\r\n5. **Open a Pull Request**\r\n\r\n## License\r\n\r\nThis project is licensed under the [MIT License](LICENSE).\r\n\r\n---\r\n\r\n**Note**: Remember to replace placeholders like `your_github_api_token`, `your_twitch_oauth_token`, and `your_twitch_client_id` with your actual API tokens in the configuration files. Keep these tokens secure and do not share them publicly.\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcptcr%2Fwebsite-builder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcptcr%2Fwebsite-builder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcptcr%2Fwebsite-builder/lists"}