A clean and simple web application for managing study topics with user authentication and hierarchical organization.
- User registration and authentication
- Create and organize study topics hierarchically
- Clean, responsive frontend interface
- Secure password storage with bcrypt
- JWT-based authentication system
- Python 3.13 or higher
- pip (Python package installer)
- uv (Python package manager) - optional but recommended
-
Clone or download this repository to your local machine
-
Navigate to the project directory:
cd /path/to/your/project -
Install the required dependencies:
pip install bcrypt fastapi[standard] passlib python-jose ruff sqlmodel uvicorn
-
Install uv if you don't have it already:
pip install uv
-
Navigate to the project directory:
cd /path/to/your/project -
Install dependencies using uv:
uv sync
-
Make sure you're in the project directory (
/workspace) -
Run the FastAPI application:
uvicorn main:app --reload --host 0.0.0.0 --port 8000
Alternatively, if you installed dependencies with pip instead of uv:
python -m uvicorn main:app --reload --host 0.0.0.0 --port 8000
-
Open your browser and go to:
- Frontend Interface: http://localhost:8000
- API Documentation: http://localhost:8000/docs
- Register a new account using the registration form
- Log in with your credentials
- Use the dashboard to create and manage study topics
- Organize topics hierarchically using the parent-child relationship feature
- Manage your study plan efficiently through the intuitive interface
/workspace/
├── main.py # Main FastAPI application
├── index.html # Frontend interface
├── pyproject.toml # Project dependencies
├── model/ # Database models
│ ├── assunto.py # Subject model
│ ├── usuario.py # User model
│ └── ... # Other models
├── routes/ # API routes
│ ├── usuarios.py # User routes
│ ├── token.py # Authentication routes
│ └── assuntos.py # Subject routes
└── utilidades/ # Utility functions
├── database.py # Database utilities
└── seguranca.py # Security utilities
If you encounter issues:
-
Make sure you have Python 3.13 or higher installed:
python --version
-
Check that all dependencies are properly installed:
pip list
-
If you get permission errors, try running with administrator privileges or in a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install bcrypt fastapi[standard] passlib python-jose ruff sqlmodel uvicorn
-
Make sure port 8000 is available and not used by another application
- Passwords are securely hashed using bcrypt
- Authentication uses JWT tokens
- CORS is configured to allow all origins (in development only)
- Always use HTTPS in production environments
- FastAPI: Modern, fast web framework for building APIs
- SQLModel: SQL database modeling library
- bcrypt: Password hashing
- Passlib: Password hashing library
- Python-Jose: JWT token handling
- Uvicorn: ASGI server for running the application