- This project is currently in active development.
- Features may be incomplete, unstable, or subject to change.
- Use with caution in production environments.
We appreciate your interest and patience as we work to improve and stabilize the API.
A robust backend API built with .NET 8 for managing crowdfunding campaigns and donations. This API provides comprehensive endpoints for user authentication, campaign management, and donation processing.
- .NET 8
- ASP.NET Core Web API
- Entity Framework Core
- JWT Authentication
- Swagger/OpenAPI Documentation
-
Authentication
- User registration and login
- JWT token management
- Role-based authorization
-
Campaign Management
- Create and manage campaigns
- Campaign categorization
- Campaign details and status tracking
-
Donation System
- Process donations
- Donation history tracking
- Campaign funding status
-
User Management
- User profiles
- Role management
- User activity tracking
- Prerequisites
- .NET 8 SDK
- MySQL (or your preferred database)
- Visual Studio or VS Code
- Clone the repository
git clone [email protected]:marina-barbosa/make-it-happen-backend.git
cd make-it-happen
- Update database connection :
Update the connection string in
appsettings.json
{
"ConnectionStrings": {
"DefaultConnection": "Your-Connection-String"
}
}
- Apply migrations
dotnet ef database update
- Run the application
dotnet run
POST /api/auth/register
- Register new userPOST /api/auth/login
- User loginPOST /api/auth/refresh-token
- Refresh JWT tokenPOST /api/auth/revoke-token
- Revoke tokenPOST /api/auth/create-role
- Create new rolePOST /api/auth/add-role-to-user
- Assign role to user
GET /api/campaign/list
- Get all campaignsGET /api/campaign/{id}
- Get campaign detailsPOST /api/campaign/create
- Create new campaignPUT /api/campaign/update/{id}
- Update campaignDELETE /api/campaign/delete/{id}
- Delete campaign
GET /api/category
- Get all categories
GET /api/donation/history
- Get donation historyPOST /api/donation/create
- Create new donation
GET /api/user
- Get all usersGET /api/user/{id}
- Get user detailsPUT /api/user/{id}
- Update userDELETE /api/user/{id}
- Delete user
API documentation is available via Swagger UI at /swagger
when running the application in development mode.
The API uses JWT Bearer token authentication. To access protected endpoints:
- Register a new user or login
- Use the received token in the Authorization header:
Authorization: Bearer {your-token}
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE.md file for details.