Welcome to Threaddit, a shallow clone of Reddit. Checkout the live site by clicking Threaddit.
This project uses the following technologies:
- Docker
- Backend
- Python
- Flask
- WTForms
- SQLAlchemy
- Alembic
- SQLite3 (development)
- PostgreSQL (production)
- Frontend
- Javascript
- React
- React-Router
- React-Redux
- CSS
- Clone the repo and run
pipenv installto install the dependencies - Create .env file, for example:
SECRET_KEY=[add secret key here] DATABASE_URL=sqlite:///dev.db - Start pipenv shell
pipenv shell - Migrate and seed database
flask db migrateandflask seed all - Run flask
flask run - cd into the
react-app - run
npm installto install the frontend dependencies - run
npm startto start the frontend - go to localhost:3000 in your browser
- Signup
- Login
- Demo user with full functionality
- View all Posts
- View only your Posts and your Comments
- Comment on any Post
- Respond to any Comment
- Update or Delete only a Post that you created
- Update or Delete only a Comment you posted
- Delete any response to a Comment you made
- Add a vote feature to either upvote or downvote a Post
- Add categories for posts based on sub-threaddit category
- The ability to follow only certain sub-threaddits based on the users preferences