fix: update heading message
Grounds for Support
Grounds for Support is a full-stack web application designed to facilitate donations ("buying a coffee") using Stripe. It demonstrates a modern integration of a React frontend with an ASP.NET Core backend, handling secure payments, webhooks, and data persistence.
Features
- Secure Donations: Integrated with Stripe Payment Intents for secure transaction processing.
- Custom Amounts: Users can specify their donation amount, name, and a personal message.
- Real-time Feedback: Immediate confirmation of payment status.
- Recent Activity: Displays a list of recent supporters.
- Rate Limiting: API endpoints are protected against abuse.
- Responsive Design: Works seamlessly on desktop and mobile.
Tech Stack
Frontend
- Framework: React 19 with TypeScript
- Build Tool: Vite
- Styling: CSS
- Payments: Stripe Elements (
@stripe/react-stripe-js) - Testing: Vitest, React Testing Library
Backend
- Framework: ASP.NET Core (Minimal APIs)
- Language: C#
- Database: SQLite with Entity Framework Core
- Payments: Stripe.net SDK
DevOps
- Containerization: Docker
- CI/CD: GitHub Actions (Build & Deploy)
- Hosting: Linux VPS (Ubuntu)
Getting Started
Prerequisites
- .NET SDK
- Node.js
- Stripe Account (for API keys)
Local Development
-
Clone the repository
git clone https://github.com/StevanFreeborn/groundsforsupport.stevanfreeborn.com.git cd groundsforsupport.stevanfreeborn.com -
Configure Environment
-
Update
src/GroundsForSupport.Server/appsettings.Development.json(or use User Secrets) with your Stripe keys:"StripeOptions": { "ApiKey": "sk_test_...", "EventsWebhookSecret": "whsec_..." } -
Create a
.envfile insrc/GroundsForSupport.Clientwith your publishable key:VITE_STRIPE_API_KEY=pk_test_...
-
-
Run the Application The server project is configured to build the client automatically.
cd src/GroundsForSupport.Server dotnet runThe API will be available at
https://localhost:7071(or similar), and it will serve the static frontend files.Alternatively, run frontend separately for hot-reloading:
cd src/GroundsForSupport.Client npm install npm run dev
Testing
-
Frontend Tests:
cd src/GroundsForSupport.Client npm test -
Backend Tests:
dotnet test
📄 License
This project is licensed under the MIT License.