A privacy-focused web application helping users make informed decisions about businesses, online security, home safety, and relocation options for the years ahead.
The Blue List is an open-source platform providing resources and tools across four key areas:
- Ethical Business Directory: Track political donations and find ethical alternatives
- Home Safety Guide: Access personalized safety and preparedness recommendations
- Online Security Center: Get customized digital security checklists and guides
- Relocation Resources: Explore international relocation options and requirements
- Search companies by name or category
- View political donation history and percentages
- Find ethical alternatives in the same business category
- Location-based searching without tracking
- Private and secure - no user location data stored
- Downloadable general safety checklists
- Personalized recommendations based on:
- Household size
- Pets
- Living space
- Climate considerations
- Medical requirements
- Focus on food safety, water access, and medical care
- Comprehensive security assessments
- Customized security checklists
- Recommendations for:
- Encrypted communications
- Secure browsers
- VPN configuration
- Network security
- Data protection
- Country guides for US expats
- Interactive questionnaires for personalized recommendations
- Detailed checklists covering:
- Documentation requirements
- Visa applications
- Cost of living estimates
- Employment opportunities
- Preparation timelines
- No user tracking
- No location data collection
- No personal data storage
- A valid email address is required to create an account, but is deleted after first login.
- Open-source for transparency
- Python 3.11+
- PostgreSQL 16+
- Node.js & npm (for frontend assets)
# Using Homebrew
brew install postgresql@14
brew services start postgresql@14
# Create database and user
psql postgres
CREATE DATABASE thebluelist;
CREATE USER your_database_user WITH PASSWORD 'your_password';
ALTER ROLE your_database_user SET client_encoding TO 'utf8';
ALTER ROLE your_database_user SET default_transaction_isolation TO 'read committed';
ALTER ROLE your_database_user SET timezone TO 'UTC';
GRANT ALL PRIVILEGES ON DATABASE thebluelist TO your_database_user;
\q
# Install PostgreSQL
sudo apt update
sudo apt install postgresql postgresql-contrib
# Start PostgreSQL service
sudo service postgresql start
# Create database and user
sudo -u postgres psql
CREATE DATABASE thebluelist;
CREATE USER your_database_user WITH PASSWORD 'your_password';
ALTER ROLE your_database_user SET client_encoding TO 'utf8';
ALTER ROLE your_database_user SET default_transaction_isolation TO 'read committed';
ALTER ROLE your_database_user SET timezone TO 'UTC';
GRANT ALL PRIVILEGES ON DATABASE thebluelist TO your_database_user;
\q
- Download PostgreSQL installer from https://www.postgresql.org/download/windows/
- Run installer, noting down the password you set for the postgres user
- Open pgAdmin (installed with PostgreSQL)
- Create new database named 'thebluelist'
- Create new user 'your_database_user' with appropriate privileges
# Clone the repository
git clone https://github.com/yourusername/thebluelist.git
cd thebluelist
# Create and activate virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Set up environment variables
cp .env.example .env
# Edit .env with your configurations
# Run migrations
python manage.py migrate
# Start development server
python manage.py runserver
Key environment variables:
DATABASE_URL=postgresql://user:password@localhost:5432/dbname
SECRET_KEY=your-secret-key
DEBUG=True
Contributions are welcome! Please read our Contributing Guidelines first.
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests
- Submit a pull request
- Follow PEP 8 for Python code
- Use Black for code formatting
- Include docstrings for all functions
# Run all tests
python manage.py test
# Run specific test suite
python manage.py test online_security
The application is designed to be deployed on any Python-compatible hosting platform. Currently tested with:
- Railway
- Google Cloud Platform
- AWS
To ensure you have the latest version:
git pull origin main
pip install -r requirements.txt
python manage.py migrate
This project is licensed under the GNU AFFERO GENERAL PUBLIC LICENSE v3.0 - see the LICENSE file for details.
Currently in active development. See our project board for current progress and upcoming features.
- All contributors and maintainers
- Open source community
- Privacy and security advocates