Skip to content

bartolomeooo/allergy-tracker

Repository files navigation

A full-stack web application for tracking and managing allergy exposures. Monitor your allergy symptoms, record exposure incidents, and analyze patterns over time to better understand and manage your allergies.

How to Run

Database Setup

  1. Create a PostgreSQL database:

    createdb your_database_name
  2. Create a .env file in the project root (copy from .env.example):

    cp .env.example .env
  3. Update the .env file with your local PostgreSQL credentials:

    SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/your_database_name
    SPRING_DATASOURCE_USERNAME=your_username
    SPRING_DATASOURCE_PASSWORD=your_password
    

Backend Setup

  1. Navigate to the project root directory:

    cd allergy-tracker
  2. Run the Spring Boot application:

    ./gradlew bootRun

    The backend API will be available at http://localhost:8080

Frontend Setup

  1. Navigate to the UI directory:

    cd allergy-tracker-ui
  2. Install dependencies:

    npm install
  3. Start the development server:

    npm run dev

    The frontend will be available at http://localhost:5173

Running with Mocks (Development)

To run the frontend with mock data (no backend required):

cd allergy-tracker-ui
npm run dev:mock

Running Tests

Backend tests:

./gradlew test

Frontend tests:

cd allergy-tracker-ui
npm test

Technologies

Backend

  • Java 21
  • Spring Boot
  • Spring Data JPA
  • PostgreSQL
  • Lombok
  • Gradle
  • JUnit & H2

Frontend

  • React
  • TypeScript
  • Vite
  • Material-UI (MUI)
  • React Router
  • TanStack Query
  • Axios
  • Day.js
  • MUI X Charts
  • MSW (Mock Service Worker)
  • Vitest
  • ESLint & Prettier

About

full-stack web application for tracking allergy symptoms and recording exposure incidents. Analyze patterns over time, identify triggers, and monitor your health with an intuitive interface built using Spring Boot and React.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors