Skip to content

Sam06002/WhisperPython

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 

Repository files navigation

WhisperFeed - Anonymous Social Platform

Python Version FastAPI License: MIT

WhisperFeed is a secure, anonymous social media platform built with Python and FastAPI. It allows users to share thoughts, posts, and messages while maintaining complete anonymity.

🌟 Features

  • Anonymous Posting: Share your thoughts without revealing your identity
  • Secure Authentication: JWT-based authentication with password hashing
  • Real-time Messaging: Private conversations between users
  • Voting System: Upvote/downvote posts and comments
  • Modern API: Built with FastAPI for high performance and automatic documentation
  • Async Database: Uses PostgreSQL with SQLAlchemy for efficient data handling

πŸš€ Tech Stack

  • Backend: Python 3.11+
  • Framework: FastAPI
  • Database: PostgreSQL with SQLAlchemy ORM
  • Authentication: JWT with PassLib
  • Async Support: Built with async/await for better performance
  • Data Validation: Pydantic models for request/response validation

πŸ› οΈ Installation

  1. Clone the repository:

    git clone https://github.com/Sam06002/WhisperPython.git
    cd WhisperPython
  2. Create and activate a virtual environment:

    python -m venv venv
    source venv/bin/activate  # On Windows: .\venv\Scripts\activate
  3. Install dependencies:

    pip install -e .
  4. Set up environment variables: Create a .env file in the project root with:

    DATABASE_URL=postgresql+asyncpg://user:password@localhost/anon_db
    SECRET_KEY=your-secret-key-here
  5. Run database migrations:

    alembic upgrade head
  6. Start the development server:

    uvicorn app.main:app --reload

πŸ“š API Documentation

Once the server is running, you can access:

🌐 Endpoints

  • POST /api/v1/auth/register - Register a new user
  • POST /api/v1/auth/login - Login and get access token
  • GET /api/v1/auth/me - Get current user info
  • GET /api/v1/posts - Get all posts
  • POST /api/v1/posts - Create a new post
  • POST /api/v1/comments - Add a comment to a post
  • POST /api/v1/vote - Vote on a post or comment

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Built with ❀️ using FastAPI and Python
  • Special thanks to all contributors

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages