Skip to content

This repository contains Smart Schedule, a full-stack web app that helps students generate a personalized weekly study plan based on availability and subject priorities. Built during the Alura DevOps Immersion, it uses a React + TypeScript frontend and a Flask backend, both containerized with Docker and orchestrated via Docker Compose.

License

Notifications You must be signed in to change notification settings

TiagoSBittencourt/Smart-Schedule

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

13 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧠 Smart Schedule

Smart Schedule Logo

Smart Schedule is an intelligent web application designed to help students automatically generate a balanced and personalized weekly study schedule.

πŸ” Overview

This project is a full-stack web application that allows users to input their subjects, assign a priority (weight) to each, and select their available time slots throughout the week. The backend then processes this information to generate a proportional and visually organized study plan, which is displayed on the user interface.

πŸ’‘ This project was built with a focus on learning Docker β€” using Dockerfile, docker-compose.yml, images, containers, and multi-stage builds β€” to create a portable and scalable development environment.

πŸ“š Developed during the Alura DevOps Immersion program.

Alura DevOps Immersion Certificate

πŸš€ Features

πŸ”Ή Subject Management – Add, edit, or remove study subjects with full CRUD support.
πŸ”Ή Priority Weighting – Assign weights to subjects to influence time distribution.
πŸ”Ή Color Coding – Each subject has a custom color for better visual clarity.
πŸ”Ή Availability Grid – Select your available study hours via an interactive weekly grid.
πŸ”Ή Auto Schedule Generation – The backend algorithm smartly distributes time based on availability and priority.
πŸ”Ή Visual Timetable – View your weekly study plan in a clean, color-coded format.
πŸ”Ή Dockerized Setup – Easily run everything with Docker and Docker Compose.

πŸ–ΌοΈ Demo

Smart Schedule Demo

πŸ“‚ Project Structure

smart-schedule/  
β”œβ”€β”€ backend/                  # Flask Python Backend  
β”‚   β”œβ”€β”€ venv/                 # Virtual environment (ignored)  
β”‚   β”œβ”€β”€ app.py                # Main Flask application and API logic  
β”‚   β”œβ”€β”€ Dockerfile            # Instructions to build the backend   image  
β”‚   └── requirements.txt      # Python dependencies  
β”‚  
β”œβ”€β”€ frontend/                 # React TS Frontend  
β”‚   β”œβ”€β”€ dist/                 # Production build output (ignored)  
β”‚   β”œβ”€β”€ node_modules/         # Node.js packages (ignored)  
β”‚   β”œβ”€β”€ public/               # Static assets  
β”‚   β”œβ”€β”€ src/                  # React source code (components, pages, api)  
β”‚   β”œβ”€β”€ Dockerfile            # Instructions to build the frontend image  
β”‚   β”œβ”€β”€ package.json          # Project dependencies and scripts  
β”‚   └── tailwind.config.js    # Tailwind CSS configuration  
β”‚  
β”œβ”€β”€ .dockerignore             # Specifies files to ignore in Docker build context  
β”œβ”€β”€ .gitignore                # Specifies files to ignore for Git  
β”œβ”€β”€ docker-compose.yml        # Defines and runs the multi-container application  
└── README.md                 # This file  

πŸ› οΈ Technologies Used

Frontend:

  • HTML5
  • CSS3
  • TypeScript
  • Tailwind CSS
  • React.ts
  • Vite
  • ESLint
  • Other dependencies

Backend:

  • Python
  • Flask
  • Gunicorn
  • Other Dependecys

DevOps

  • Docker
  • Docker Compose
  • Git
  • GitHub

βš™οΈ Setup and Running

You can run this project using Docker (recommended) or manually set up each service.

🐳 Using Docker (Recommended)

Make sure you have Docker and Docker Compose installed on your machine.

Clone the repository:

git clone https://github.com/TiagoSBittencourt/Smart-Schedule.git
cd smart-schedule

Run the application using Docker Compose:

docker-compose up -d --build

The application will be available at:

πŸ› οΈ Manual Setup (Without Docker)

Backend

cd backend
# Create and activate virtual environment (first time)
python -m venv venv
# On Windows: venv\Scripts\activate
# On macOS/Linux: source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Run the server
python app.py

Frontend

cd frontend

## Install dependencies (first time)
npm install

## Start the development server
npm run dev

πŸ“„ License

This project is licensed under the MIT License.

About

This repository contains Smart Schedule, a full-stack web app that helps students generate a personalized weekly study plan based on availability and subject priorities. Built during the Alura DevOps Immersion, it uses a React + TypeScript frontend and a Flask backend, both containerized with Docker and orchestrated via Docker Compose.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors