Unleash your creativity!
Impressle is a unique social network where you have to draw by hand, not uploading image files. Follow your favorite artists, give likes to other users' pictures and make your own ones. It's fun, just try it!
- Title
- Description
- Table of Contents
- Tech Stack
- Features
- Install and Setup
- Contributing
- Support the Project
- Backend
- Python
- SQLite Database
- Frontend
- HTML
- CSS
- JavaScript
- Account System
- Sign up
- Log in
- Account settings
- Profile
- Edit "About Me"
- Privacy
- Show followers count in my profile?
- Allow users to comment my pictures?
- Show "online" status my profile?
- Danger Zone
- Delete Account
- Profile
- Follow/Unfollow other users
- Log out
- Create Pictures
- Interact With Pictures
- Like
- Dislike
- Comment
- Delete Pictures and Comments
- Ranking System
- Get more karma to upgrade rank
- +1 karma for publishing a picture
- +1 karma for getting a like/comment
- +1 karma for getting a follower
- Visit the FAQ (Frequently Asked Questions) page for more details
- Get more karma to upgrade rank
- Admin Panel
- Inspect the database
- Edit the database (not recommended though)
- Ban users/pictures/comments
- Banned user will lost the access to their account and will be marked with
BANNED
tag in their profile - Banned picture will not be shown in Feed page, but still can be accessed by visiting URL ("/picture/{picture_uid}") and author's profile
- Banned comment's text will be changed to
BANNED
- Banned user will lost the access to their account and will be marked with
- Clone the Repository
$ git clone https://github.com/desyatkoff/impressle.git
- Go to the Repository Directory
$ cd impressle/
- Launch Auto-Setup Script (
setup.sh
)$ sh setup.sh
- Launch the Web App
$ python main.py
- Go to
http://127.0.0.1:5000
- Clone the Repository
$ git clone https://github.com/desyatkoff/impressle.git
- Go to the Repository Directory
$ cd impressle/
- Edit Configuration Files
- Environment variables (secret data)
- Rename
.env.example
to.env
$ mv .env.example .env
- Edit
.env
using your code editor
- Rename
- Other configs (public data)
- Edit
config.py
using your code editor
- Edit
- Environment variables (secret data)
- Install
pipenv
$ pip install pipenv
- Add
pipenv
to PATH - Create the Virtual Environment
$ pipenv install --python 3.9
- Lock the
Pipfile
$ pipenv lock
- Install All the Dependencies
$ pipenv sync
- Compile the Translations
$ pybabel compile -f -d translations/
- Activate the Virtual Environment
$ pipenv shell
- Launch the Web App
- Using Python
$ python main.py
- Using Flask
$ flask --app main:app run
- Using Gunicorn
$ gunicorn main:app
- Using Python
- Go to
http://127.0.0.1:5000
- Clone the Repository
$ git clone https://github.com/desyatkoff/impressle.git
- Go to the Repository Directory
$ cd impressle/
- Edit Configuration Files
- Environment variables (secret data)
- Rename
.env.example
to.env
$ mv .env.example .env
- Edit
.env
using your code editor
- Rename
- Other configs (public data)
- Edit
config.py
using your code editor
- Edit
- Environment variables (secret data)
- Compile the Translations
$ pybabel compile -f -d translations/
- Build the Docker Image
$ docker build -t impressle:latest
- Run Your New Docker Image
$ docker run impressle:latest
- Go to
http://127.0.0.1:5000
Want to help? You can update or fix something, here's how to contribute to the project repository:
- Fork the repository
- Create new branch
- Edit some code
- Push the changes to your branch
- Open a pull request here
Note
Prefer naming your git commits something like that:
- "UPDATE: Added/Improved/Removed the *feature*"
OR
"ADD: *Feature*"
"REMOVE: *Feature*" - "FIX: Fixed the *bug*"
- "COMMENT: Added/Edited/Removed a comment on line *123*"
Done! I'll review your code changes and maybe will accept them. Even just adding comments for some lines is a good contribution
Want to help but don't know how to code?
- Crypto (only send TON, other coins will be lost!)
UQCsdH1ItNGo9RB8f8AoNfGTr9gdPAi_YkCV2hk7_MVOHydV
- ...or just give a star to this repository and tell your friends about Impressle :)