Skip to content

Repository files navigation

Impressle

Description

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!

Table of Contents

  1. Title
  2. Description
  3. Table of Contents
  4. Tech Stack
  5. Features
  6. Install and Setup
  7. Contributing
  8. Support the Project

Tech Stack


Features

  • 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
    • 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
  • 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

Install and Setup

  1. Clone the repository
    git clone https://github.com/desyatkoff/impressle.git
  2. Go to the repository directory
    cd impressle/
  3. Edit configuration files
    • Environment variables (secret data)
      • Rename .env.example to .env
      mv .env.example .env
      • Edit .env using your code editor
    • Other configs (public data)
      • Edit config.py using your code editor
  4. Install uv
  5. Add uv to PATH
  6. Create the virtual environment
    uv venv
  7. Install all dependencies
    uv sync
  8. Compile translations
    uv run pybabel compile -f -d translations/
  9. Launch
    • Using Flask
      uv run flask --app main:app run
    • Using Gunicorn
      uv run gunicorn main:app

Contributing

Want to help? You can update or fix something, here's how to contribute to the project repository:

  1. Fork the repository
  2. Create new branch
  3. Edit some code
  4. Push the changes to your branch
  5. Open a pull request here

Note

Prefer naming your git commits something like that:

  1. "UPDATE: Added/Improved/Removed the *feature*"
    OR
    "ADD: *Feature*"
    "REMOVE: *Feature*"
  2. "FIX: Fixed the *bug*"
  3. "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

About

This repository is the source code of impressle.fun website. Impressle is a unique social network where you have to draw by hand, not uploading image files

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages