Skip to content

csoares/ReactFullCalendarSpringboot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Event Calendar Application

A full-stack event calendar application built with React, Spring Boot, and PostgreSQL.

Features

  • Interactive calendar interface using FullCalendar
  • Create, read, update, and delete events
  • Drag and drop event scheduling
  • 24-hour time format support
  • Responsive design with Material-UI
  • RESTful API backend
  • PostgreSQL database for persistent storage

Prerequisites

  • Docker and Docker Compose
  • Node.js (for local development)
  • Java 17 (for local development)
  • Maven (for local development)

Quick Start

  1. Clone the repository:
git clone <repository-url>
cd ReactFullCalendarSpringboot
  1. Start the application using Docker Compose:
docker-compose up --build
  1. Access the application:

Project Structure

.
├── frontend/                # React + Vite frontend
│   ├── src/                # Source files
│   ├── Dockerfile          # Frontend Docker configuration
│   └── package.json        # Node.js dependencies
├── backend/                # Spring Boot backend
│   ├── src/                # Source files
│   ├── Dockerfile          # Backend Docker configuration
│   └── pom.xml             # Maven dependencies
└── docker-compose.yml      # Docker Compose configuration

Development

Frontend

cd frontend
npm install
npm run dev

Backend

cd backend
mvn spring-boot:run

Configuration

Environment Variables

Create a .env file in the root directory:

POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_DB=calendar
BACKEND_PORT=8080
FRONTEND_PORT=5173

Database

The application uses PostgreSQL. The database is automatically created when running with Docker Compose.

Sample Events

The application comes with pre-configured sample events to demonstrate its functionality:

  • Team Meeting (1-hour weekly sync)
  • Project Review (2-hour monthly review)
  • Client Presentation (1.5-hour demo)
  • Training Session (3-hour training)
  • Sprint Planning (1.5-hour planning)

To disable sample events:

  1. Delete or rename the file backend/src/main/resources/data.sql
  2. Restart the application using docker-compose restart

API Endpoints

  • GET /api/events - Get all events
  • POST /api/events - Create a new event
  • GET /api/events/{id} - Get event by ID
  • PUT /api/events/{id} - Update event
  • DELETE /api/events/{id} - Delete event

License

This project is licensed under the MIT License.


### Backend Tests

```bash
cd backend
mvn test

Deployment

  1. Build the application:
docker-compose build

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

Troubleshooting

  • If the frontend fails to start, check if port 5173 is available
  • If the backend fails to start, check if port 8080 is available
  • For database connection issues, verify PostgreSQL credentials in the .env file

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published