A resourceful Python developer specializing in FastAPI development and UnrealIRCd systems, currently pursuing Computer Science at BRAC University. Experienced IRC developer with deep knowledge of UnrealIRCd and custom bot creation, combining network protocol expertise with modern API development. Passionate about cybersecurity, automation, and building production-grade systems with clean, maintainable code.
tech_stack = {
"backend": ["Python", "FastAPI", "Flask", "UnrealIRCd"],
"databases": ["PostgreSQL", "Redis", "Firebase"],
"tools": ["Git", "Docker", "GitHub Actions"],
"ai_integration": ["Google Gemini", "LangChain", "LLMs"],
"security": ["Network Protocols", "Ethical Hacking", "Bot Development"],
"interests": ["API Design", "System Architecture", "IRC Systems"]
}RoutineZ - Smart Course Scheduling
- Flask backend with complex scheduling algorithms
- Redis caching for optimized performance
- AI-powered schedule optimization using Google Gemini
- 99.9% production uptime
ConnectAPI - University Integration API
- Production FastAPI application with clean architecture
- OAuth2 & SSO integration
- Redis caching improving response times by 60%
- Comprehensive error handling and logging
BRACU-RideShare [Ongoing]
- FastAPI backend with geolocation features
- Complex route matching algorithms
- Firebase integration for authentication
- Real-time ride updates
FacultyRate [Ongoing]
- Flask API with SQLAlchemy
- Google Gemini AI integration
- Privacy-first database design
- Real-time data updates
- Cybersecurity & Network Security
- Payment Gateway Fraud Detection
- Financial Technology Systems
- BS in Computer Science, BRAC University (2022-2026)
- Perfect GPA: 5.00/5.00 in Higher Secondary
- Part-time Backend Development opportunities (20 hours/week)
- Collaborative learning environments
- Projects involving Python, FastAPI, and AI integration
- Working on RideShare and FacultyRate projects
- Exploring payment gateway security
- Learning advanced system architecture patterns
Let's connect and build something amazing together!
A FastAPI-based API service for accessing BRACU (BRAC University) student schedules. This API provides a simplified interface to fetch schedule data from the BRACU Connect portal.
- Public schedule endpoint
- Token management and auto-refresh
- Upstash Redis for token storage and caching
- Error handling and fallback mechanisms
- Deployed on Vercel
- Session-based security for sensitive endpoints: Only users with a valid session can access
/enter-tokensand/mytokens. The/raw-scheduleendpoint remains public. - Token uptime display: The home page shows how long your current token will remain active (if any).
- Backend Framework: FastAPI
- Database: Upstash Redis (Serverless Redis)
- Deployment: Vercel
- Runtime: Python 3.7+
- Clone the repository:
git clone https://github.com/cswasif/ConnectAPI.git
cd ConnectAPI- Create a virtual environment and install dependencies:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt- Set up Upstash Redis:
- Go to Upstash Console
- Create a new Redis database
- Copy the connection details
- Create a .env file with your configuration:
# Upstash Redis Configuration
REDIS_URL=rediss://default:your-password@willing-husky-43244.upstash.io:6379- Run the server locally:
uvicorn main:app --reloadThis project is configured for deployment on Vercel:
- Fork this repository
- Connect your fork to Vercel
- Add your environment variables in Vercel:
REDIS_URL(from Upstash)
- Deploy!
Fetches the current schedule using the most recent valid token, or falls back to the latest cached schedule if no valid token is available.
- No authentication required
- Returns schedule data in JSON format
- Uses Upstash Redis for token management and caching
- How it works:
- The endpoint always tries to fetch the latest real schedule from the Connect API using the most recent valid token.
- If the live API call is successful, it updates the cache and returns the fresh data.
- If the live API call fails (e.g., network error, token expired), it falls back to the most recently cached schedule (if available).
- If no valid token is available at all, it will show the most recently cached schedule (from any student) if present.
- If neither a valid token nor any cached schedule exists, an error is returned.
- Everyone sees the same scheduleβit is not user-specific.
Allows users to enter and save their access and refresh tokens.
- Requires a valid session (users must start from the home page to get a session)
- Tokens are stored securely in Redis, scoped to the session
- Not accessible to the public without a session
View the tokens associated with the current session.
- Requires a valid session
- Not accessible to the public without a session
- Base URL: https://connapi.vercel.app
- Raw Schedule Endpoint: https://connapi.vercel.app/raw-schedule
- Visit https://connapi.vercel.app/raw-schedule in your browser or use it in your application to fetch the latest available schedule data.
- If a valid token has been submitted (via the web UI at
/enter-tokens), the endpoint will show the latest real schedule from the BRACU Connect API. - If no valid token is available, it will show the most recently cached schedule (if any exists).
- The endpoint returns data in JSON format and is publicβno authentication is required.
- The home page also displays the remaining active time (uptime) of your current token, if available.
- Python 3.7+
- FastAPI
- Upstash Redis
- httpx
- python-jose[cryptography]
We use Upstash Redis as our primary database for:
- Token storage and management
- Schedule data caching
- Session handling
Benefits of using Upstash:
- Serverless Redis solution
- Global data replication
- Pay-per-use pricing
- Built-in REST API
Our deployment platform offering:
- Serverless Functions
- Automatic deployments
- Edge Network
- Zero configuration
This API server was developed by Wasif Faisal to support Routinez and other BRACU student tools.
MIT License