Skip to content

neallawson/react-flask-event-scheduler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🗓️ ChronoPlanner

ChronoPlanner is a full-stack calendar scheduling platform that allows users to create, view, and manage events with built-in conflict detection and recurring event support. The application provides multiple calendar views and communicates with a RESTful backend API for event management.


✨ Features

  • 📅 Calendar Views — Switch between day, week, and month views with FullCalendar.
  • Event Creation — Add new events through an intuitive modal form.
  • ⚠️ Conflict Detection — Prevent scheduling conflicts with real-time overlap checks.
  • 🔁 Recurring Events — Define recurring schedules with flexible rules.
  • 🔄 Live Updates — Calendar refreshes automatically after event creation or modification.

🛠 Tech Stack

Frontend

Backend


📋 Prerequisites

  • Node.js v16+
  • npm or yarn
  • Python 3.12+
  • pip (Python package manager)

🚀 Getting Started

1. Clone the Repository

git clone <your-repo-url>

2. Backend Setup (Flask API)

Create & Activate Virtual Environment

python3.12 -m venv venv
  • On macOS/Linux:

    source venv/bin/activate
  • On Windows:

    venv\Scripts\activate

Install Dependencies

pip install -r requirements.txt

Run Flask Server

python app.py

Server runs at: http://127.0.0.1:5000


3. Frontend Setup (React)

cd frontend
npm install
npm run dev

React app runs at: http://localhost:3000


🔗 API Endpoint (Default)

Base URL:

http://localhost:5000/api

Example request to fetch events:

GET /api/events

🧪 Testing the Application

  1. Start Flask backend (python app.py).
  2. Start React frontend (npm run dev).
  3. Open http://localhost:3000.
  4. Create events, test conflict prevention, and add recurring events.

⚙️ Deployment

For deployment, ensure:

  • Backend runs in a production server (e.g., Gunicorn, uWSGI) behind Nginx/Apache.

  • Frontend built with:

    npm run build
  • Environment variables set for database and API endpoints.


🔒 Security Considerations

  • Input validation on both client and server.
  • Environment variables for sensitive data (database URL, API keys).
  • HTTPS for all client ↔ server communication.

📌 Roadmap

  • ⏰ Event reminders & notifications
  • 🧑‍🤝‍🧑 Multi-user collaboration
  • 📱 Mobile-friendly offline mode
  • 🔄 Integration with external calendars (Google, Outlook)
  • ✅ Comprehensive unit & e2e testing

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published