Tom Butcher f722ca2fed
All checks were successful
tombutcher.work/tombutcher-ui/pipeline/head This commit looks good
Added build status
2025-04-06 22:29:40 +00:00

93 lines
2.9 KiB
Markdown

# tombutcher-ui
[![Build Status](https://ci.tombutcher.work/job/tombutcher.work/job/tombutcher-ui/job/main/badge/icon)](https://ci.tombutcher.work/job/tombutcher.work/job/tombutcher-ui/job/main/)
This is a personal website front end built with **React.js** and hosted on **Cloudflare Workers**. The website is designed to showcase personal blogs and experience, provide a download to my cv, and include a contact form.
## Tech Stack
- **React.js**: A JavaScript library for building user interfaces.
- **Cloudflare Workers**: Serverless functions to handle backend tasks like form submissions, API requests, etc.
- **Cloudflare**: For CDN, SSL, Pages, and routing.
## Features
- **Responsive Design**: The website is fully responsive and adapts to different screen sizes.
- **Contact Form**: A simple form to allow users to send messages, powered by Cloudflare Workers.
- **Experience**: Showcases personal projects, skills, and achievements.
- **Social Media**: Add "linktree" style social media.
- **Blogs**: A blog section for personal thoughts or project updates.
## Prerequisites
Before getting started, make sure you have the following installed:
- [Node.js](https://nodejs.org/) (for development)
- [Cloudflare Workers CLI](https://developers.cloudflare.com/workers/cli-wrangler/)
- [Git](https://git-scm.com/)
## Getting Started
### 1. Clone the Repository
Clone this repository to your local machine:
```bash
git clone https://git.tombutcher.work/tom/tombutcher-ui.git
cd tombutcher-ui
```
### 2. Install Dependencies
Install the necessary dependencies for the React app:
```bash
npm install
```
### 3. Set up Cloudflare Workers
Install and configure [Cloudflare Workers](https://developers.cloudflare.com/workers/) for handling backend logic such as form submissions. This typically includes:
- Configuring your Worker with the correct routes.
- Setting up environment variables for form handling (e.g., email configuration or API keys).
You can create a `wrangler.toml` file and configure it to deploy your workers.
### 4. Running Locally
To start the React development server locally:
```bash
npm run dev
```
The website should now be running at `http://localhost:3000`.
### 5. Deploying to Cloudflare Pages and Workers
#### Deploy the React App
To deploy the React app to [Cloudflare Pages](https://developers.cloudflare.com/pages), follow the steps in the Cloudflare Pages documentation:
1. Push your React app to a Git repository.
2. Link the repository with Cloudflare Pages.
3. Deploy!
#### Deploy Cloudflare Workers
To deploy the Cloudflare Worker, use:
```bash
wrangler publish
```
This will deploy your Worker to Cloudflare's global edge network.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
- [React](https://reactjs.org/)
- [Cloudflare Workers](https://developers.cloudflare.com/workers/)
- [Cloudflare Pages](https://developers.cloudflare.com/pages/)