A Gator-themed productivity web app for UF students
Make sure you have installed on your computer:
- Node.js: https://nodejs.org/en
- Python: https://www.python.org/
- Clone and navigate
git clone https://github.com/yourusername/swampscheduler.git
cd swampscheduler/backend- Project Setup
# Set up the virtual environment
python -m venv swamp_env
# On Mac/Linux:
source swamp_env/bin/activate
# On Windows Command Prompt:
swamp_env\Scripts\activate
# On Windows PowerShell:
swamp_env\Scripts\Activate.ps1
# Install dependencies
pip install -r requirements.txt- Environment variables
# Copy .env.example template to .env
cp .env.example .envNow edit .env with our Supabase credentials (check team chat for keys).
- Run the server
python app.py- Test it works
Go to
http://localhost:5000/api/health- you should see a success message.
- Navigate to frontend
cd swampscheduler/frontend - Install Dependencies
npm install
- Run the development server
npm start
- Test it works
Go to
http://localhost:3000- you should see the SwampScheduler homepage.
We have a fully reproducible build setup using Nix for both development and production environments. This ensures everyone has the exact same dependencies and configuration.
-
Install Nix (if you haven't already. we use the determinate nix installer below):
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
-
Clone and enter the project:
git clone https://github.com/yourusername/swampscheduler.git cd swampscheduler -
Enter the development environment:
nix develop --impure
-
Run the application:
- For production mode:
frontend-prod # Builds the React frontend backend-prod # Starts the Flask backend with Gunicorn
- For development mode:
frontend # Starts React dev server backend # Starts Flask dev server
- For production mode:
That's it! Nix handles all dependencies, environment setup, and configuration for a fully reproducible build.
- Flask backend running
- Supabase connected
- Full authentication system
- Task management with XP/gamification
- Pomodoro timer
- Shared boards
- Achievement system
- Production deployment ready
- Backend: Flask + Supabase
- Frontend: React.js with CSS modules
- Database: PostgreSQL (via Supabase)
- DevOps: Nix for reproducible builds