Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chriseborowski/witter
A Django-powered social platform with robust user authentication, efficient database management, and scalable architecture. Features include user profiles, post sharing, real-time updates, geolocation, and file handling. Utilizes Django's ORM, RESTful APIs, and template system. Implements best security practices and offers a customizable UI.
https://github.com/chriseborowski/witter
authentication bootstrap database django django-application django-framework django-project django-rest-framework html html-css python python3 restful-api social-media social-network twitter twitter-clone web-development webapp
Last synced: 27 days ago
JSON representation
A Django-powered social platform with robust user authentication, efficient database management, and scalable architecture. Features include user profiles, post sharing, real-time updates, geolocation, and file handling. Utilizes Django's ORM, RESTful APIs, and template system. Implements best security practices and offers a customizable UI.
- Host: GitHub
- URL: https://github.com/chriseborowski/witter
- Owner: chriseborowski
- License: mit
- Created: 2024-08-07T04:26:38.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-08-31T03:39:03.000Z (2 months ago)
- Last Synced: 2024-09-28T16:21:49.308Z (about 1 month ago)
- Topics: authentication, bootstrap, database, django, django-application, django-framework, django-project, django-rest-framework, html, html-css, python, python3, restful-api, social-media, social-network, twitter, twitter-clone, web-development, webapp
- Language: Python
- Homepage: https://github.com/chriseborowski/witter
- Size: 289 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Witter: Twitter-Like Social Media Microblogging Platform
Witter is a robust Python-based social media microblogging platform designed for efficient handling of user posts, follower relationships, and related operations, all through a web interface. For a detailed description and overview of WalletOne's main functionalities, see this blog post: [Introducing Witter: A Dynamic Social Media Platform with Python Backend](https://chriseborowski.notion.site/Introducing-Witter-A-Dynamic-Social-Media-Platform-with-Python-Backend-4afad372201f41c9ac930fd8ab890220]).
## Key Features
- [x] Create and delete posts with unique post IDs
- [x] Manage user profiles and follower relationships
- [x] Search functionality by hashtags and user handles
- [x] Display user timelines and trending topics
- [x] Efficient post retrieval using database indexing
- [x] Real-time updates with WebSocket technology## Technical Highlights
- **Efficient Post Retrieval**: Utilizes database indexing for fast post lookups
- **Scalable User Management**: Implements follower relationships using a many-to-many data model
- **Real-time Updates**: Uses WebSocket technology for instant post delivery
- **Django-based Backend**: Leverages Django's ORM for database operations and user authentication
- **RESTful API**: Provides a comprehensive API for third-party integrations## Class Structure
- `Post`: Represents a user's post with content and metadata
- `User`: Represents a Witter user with profile information
- `Timeline`: Manages the collection and display of posts for a user
- `Hashtag`: Represents trending topics and searchable terms## Key Methods
- `create_post`: Creates a new post in the system
- `delete_post`: Removes a post and updates all related data
- `follow_user`: Establishes a follower relationship between users
- `search_hashtag`: Retrieves posts containing a specific hashtag
- `get_user_timeline`: Fetches and displays a user's timeline## Performance Considerations
- Post retrieval: Optimized through database indexing
- User timeline generation: Efficient querying of followed users' posts
- Hashtag searching: Utilizes full-text search capabilities of the database
- Real-time updates: Implemented using WebSocket connections for minimal latency## Future Enhancements
- Implement media uploads (images, videos)
- Add direct messaging functionality
- Develop mobile applications (iOS and Android)
- Implement advanced analytics for trending topics and user engagement## Contributing
Contributions are welcome! Please feel free to submit a pull request.
## License
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details.