Let's Schedule is an open-source API designed for scheduling events, with seamless integration to Google Calendar and additional platforms. Built using Python, FastAPI, SQLAlchemy, and PostgreSQL, this project aims to provide a robust and flexible solution for managing and synchronizing events across various services.
- Python 3.12
- PostgreSQL 17.2
-
Clone the repository:
git clone [email protected]:ruslan-korneev/lets-schedule.git cd lets-schedule
-
Create a virtual environment and activate it:
python3.12 -m venv .venv source .venv/bin/activate
or if you are using uv
uv venv
-
Install dependencies:
poetry install # or `uv pip install -r pyproject.toml`
-
Set up PostgreSQL:
- Create a new PostgreSQL database.
- Update the database credentials in the
.env
file with your database credentials.
-
Run database migrations:
alembic upgrade head
-
Start the server:
uvicorn main:app --host 0.0.0.0 --port 8000
The API will be available at
http://0.0.0.0:8000
.
- API Documentation: Access interactive API documentation at
http://0.0.0.0:8000/api/v1/docs
. - Event Management: Create, update, delete, and list events using the API endpoints.
- Google Calendar Sync: Automatically synchronize your events with Google Calendar.
For questions or feedback, please contact [email protected].