backend

A repository for the backend of the Rezappt application

Stars
0

๐ŸŒŸ Rezappt Backend

Welcome to the Rezappt Backend repository! This is the powerhouse that drives the backend operations for Rezappt, an innovative application that allows users to store, maintain, and share their own recipes. Users can vote on recipes, and the platform also supports exporting recipes as PDFs, making it easy to share your culinary creations.


๐Ÿ“Š Project Overview

Current Sprint: Sprint 12 (โณ 2024-09-15 - 2024-09-29)

  • Project Manager:
    • Jane Doe ๐Ÿ‘ฉโ€๐Ÿ’ผ (Organized, Detail-Oriented)
  • Developers:
    • John Smith ๐Ÿ‘จโ€๐Ÿ’ป (Innovative, Quick Problem-Solver)
    • Sarah Lee ๐Ÿ‘ฉโ€๐Ÿ’ป (Meticulous, API Expert)

๐Ÿ“ Methodology

We follow a Scrumban methodology ๐Ÿ“, combining elements of Scrum and Kanban to ensure flexibility and continuous delivery.

  • Sprint Type: ๐Ÿ› ๏ธ Organizational
  • Sprint Duration: 2 weeks โฑ๏ธ
  • Sprint Daily: 15 minutes, Join the meeting here ๐Ÿ’ฌ
  • Sprint Planning: First day of the sprint, Sprint planning link ๐Ÿ“…
  • Sprint Retro: Last day of the sprint, Retro link ๐Ÿ”„

โš™๏ธ Tech Stack

  • C# .NET 8
  • ASP.NET Web API
  • Entity Framework Core
  • PostgreSQL
  • OpenAPI

๐Ÿš€ Getting Started

Prerequisites

Installation

  1. Clone the repository:

    git clone https://your-private-repo-url.git
    cd rezappt-backend
    
  2. Set up the PostgreSQL database:

    CREATE DATABASE rezappt_db;
    
  3. Configure the connection string in appsettings.json:

    {
      "ConnectionStrings": {
        "DefaultConnection": "Host=localhost;Database=rezappt_db;Username=yourusername;Password=yourpassword"
      }
    }
    
  4. Restore dependencies:

    dotnet restore
    
  5. Apply database migrations:

    dotnet ef database update
    
  6. Build and run the project:

    dotnet run
    

๐Ÿ› ๏ธ Key Features

  • Authentication & Authorization
  • Entity Framework Core
  • Modular & Extensible API
  • Centralized Exception Handling
  • Swagger Documentation

๐Ÿงช Testing

We are using xUnit for unit and integration testing.

Running Tests

  1. Ensure the database is running and migrations are applied.
  2. Run the tests using the following command:
    dotnet test
    

Our testing strategy includes:

  • Unit Tests: Validating individual components.
  • Integration Tests: Testing API endpoints and database operations.

Test results are automatically included in the CI pipeline.


๐Ÿš€ Release Management

Our release process is automated using GitHub Actions, deploying Docker images to GitHub Packages. We follow semantic versioning to tag each release.

Docker Image

Docker images are built and pushed automatically to the GitHub Packages registry. You can pull the latest version of the backend with:

docker pull ghcr.io/your-organization/rezappt-backend:latest

To specify a version:

docker pull ghcr.io/your-organization/rezappt-backend:v1.2.3

๐Ÿ”€ Branching Model

We follow GitHub Flow, which emphasizes:

  1. Feature Branches: Create a branch for each feature or bug fix.
  2. Pull Requests: Use PRs for peer review and quality control.
  3. Continuous Deployment: Every PR merged into main triggers an automatic deployment.

๐Ÿง‘โ€๐Ÿ’ป Contributing

This is a private repository. For collaboration, please contact the project manager directly:

  • Project Manager: Jane Doe ๐Ÿ‘ฉโ€๐Ÿ’ผ

Thank you for checking out the Rezappt Backend! ๐ŸŽ‰