The Project
Pathwise is a modern learning management system (LMS) prototype built with cutting-edge async Python technologies. The project demonstrates best practices for building scalable educational platforms with robust user authentication, course management, and enrollment systems.
Key Features
- User Authentication: Secure JWT-based authentication with bcrypt password hashing
- Course Management: Full CRUD operations for educational content
- Enrollment System: Students can enroll in and manage their courses
- Async Operations: Leverages Python’s async/await for high-performance database operations
- Comprehensive Testing: Built-in pytest framework for reliable code quality
- Docker Support: Containerized deployment for easy development and production
Technologies Used
- FastAPI: Modern, fast web framework for building APIs with Python 3.11+
- PostgreSQL: Robust relational database with asyncpg for async operations
- SQLAlchemy 2.0: Advanced ORM with full async support
- JWT Authentication: Secure token-based authentication with python-jose
- bcrypt: Industry-standard password hashing
- pytest: Comprehensive testing framework
- Docker: Containerization for consistent development environments
Architecture
The project follows a modular architecture with clear separation of concerns:
- API Routes: RESTful endpoints for all operations
- Database Models: SQLAlchemy models for data persistence
- Schemas: Pydantic models for request/response validation
- Services: Business logic layer
- Dependencies: Shared utilities and authentication
Use Cases
Perfect for educational institutions, training companies, or developers learning modern async Python web development patterns. The codebase serves as an excellent reference for building scalable educational platforms with FastAPI.