Few lines describing your project.
An attempt to clone the instagram Web Application
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
What things you need to install the software and how to install them.
Python(>v3.6.x), Pip Package manager and a virtualenvironment manager(Pipenv, Poetry etc)
A step by step series of examples that tell you how to get a development env running.
Clone the repo from github. Create and Activate Virtual Environment(recommended) to avoid dependency resolution issues. If you intend to contribute, create a branch and checkout(switch) to it as your main working branch. Set up a database(SQLITE3 is fine.) and automatically load up the necessary .env variables Run the appropriate db migrations to load the db schema and keep track the versions of the db and flask translate {lang} ti run the i8n translations. Run the tests. Finally, launch flask run to run a dev server(or flask run--cert=adhoc to get an adhoc ssl certificate)o
#Clone the repo
git clone https://github.com/Bnjorogedev/Flaskgram-instaclone.git
Create and activate a virtualenvironment
#if you use virtualenvwrapper, run virtualenv{name of venv dir} or pipenv {name of dir} otherwise
python3 -m venv {name of venv} && source /path/to/venv/bin/activate/
Install required dependencies and switch to your dev branch
pip install -r requirements.txt
cd {path/to/venvdir}
git checkout -b {branch name}
Create a .env file and copy the env templates
touch .env && cp .env.template .env
flask db migrate && flask db upgrade
flask translate fr
nose2 tests/ && flask run
I use Black code to format my code.
black {name of dir}
- Standard and Secure Registration/Login(with email verification and password resetting)
- Google/Facebook/Twitter/Github Oauthentication Flows
- CRUD posts with image and captioning functionality.
- Like/Unlike Posts
- Follow/Unfollow Users/Hashtags
- Bookmark Posts/Get post notifications via email and from your profile.
- Basic Feed personalization that allows you to view posts from users you follow.
- Recommend follow suggestions based on hashtags.
- Simple non-websocket private chat messaging feature.
- Basic Video Call
- Multi-feature search functionality. Search by Users, Posts, Captions etc
Will update soon.
- Flask - Web Framework
- MySQL - Database
- Bootstrap4 - Frontend Framework
- ElasticSearch - Search Engine
Pull requests are certainly welcome. I've used Travis-CI for my CI/CD workflows, so before your PR is merged into master I'll review it and Travis will run a test build.
- Switch to pytest for testing and add more test coverage
- Add a whole lot more dynamism using Javascript
- There's a bug with the search functionality.
- Add collaborative filter recommendation system for Posts/Users
- Constantly refactor the codebase
- Add Instagram-like filters.
- Miguel Grinberg's Flask Mega Tutorial
- Inspiration
- References