Giter Site home page Giter Site logo

rafalp / misago Goto Github PK

View Code? Open in Web Editor NEW
2.5K 81.0 520.0 99.52 MB

Misago is fully featured modern forum application that is fast, scalable and responsive.

Home Page: http://misago-project.org

License: GNU General Public License v2.0

Python 65.81% JavaScript 24.53% CSS 0.01% HTML 6.58% Shell 0.27% Dockerfile 0.02% Less 2.50% SCSS 0.30%
forums forum react javascript django python docker

misago's People

Contributors

abdullatheef avatar aetherunbound avatar alaasalman avatar alff0x1f avatar badaszszsz avatar chandlerbent avatar chimeworld avatar colonelrascals avatar einarf avatar f-z avatar imv7 avatar jamesfneyer avatar jokimina avatar kasperisager avatar l0ud avatar macsch15 avatar manuel12 avatar mozillazg avatar musindmitriy avatar notkit avatar paroxp avatar pyneda avatar rafalp avatar rainulf avatar raydeal avatar sanjay-b avatar vikramlance avatar win32re avatar wojtekreu avatar zcho avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

misago's Issues

Sign Out functionality

It has to be possible for signed in members to be able to sign out. If member was authorized by Remember Me token, this token also has to be removed and cookie unset.

Change ways deltas are tracked

Delta value should not contain delta, but previous value of threads/posts/clicks in forum, every 24h cronjob could run simple SQL that would set delta's values same as values of columns they are related to. During day users would post on forums, mods would act and so forum stats would change. Those stats can then be compared with deltas and see what trends are in specified forums.

"Remember Me" functionality

Misago shuld allow users to use "Remember Me" option allowing them to Sign In automatically once their session expires if they have a cookie with valid remember me token.

Automated Tests

What's your thoughts on adding some tests throughout the code and using something like Travis CI? I'm happy to get started on it, but I wanted to make sure that you would be for it before I start and send in the pull request.

Thanks,
Tyler

Activation E-Mail resend

It should be possible for new members to request activation E-Mail to be resend to their inbox.

User profile moderation

Checklist:

  • Warnings
  • Rename user
  • Avatar moderation
  • Signature moderation
  • Ban user
  • Lift user ban
  • Nuke users

Moving content between forums and threads

There should be fancy and easily extensible way to move content between forums and threads.

Perfectly, models could implement methods like change_forum(old_forum, new_forum) or change_thread(old_forum, new_forum). Specific actions would loop models and fire those methods leaving rest for models to decide what to do.

Decision is needed to find out if method should be put on queryset or model instance.

Post validation framework

Misago could provide extensive validation framework for posts content just like one for new registrations.

  • implementation
  • tests
  • documentation

Forums, Threads, Posts, Polls and Attachments Permissions

Forums

  • Can see forum
  • Can see forum contents

Threads

  • Can read topics (no, own, all)
  • Can start topics (no, acceptance, yes)
  • Can edit own topics
  • Can soft-delete own threads

Posts

  • Can write posts (no, acceptance, yes)
  • Can edit own posts
  • Can soft-delete own posts

Karma

  • Can upvote posts
  • Can downvote posts
  • Can see posts score (no, simple, detailed)
  • Can see posts votes

Polls

  • Can make polls
  • Can vote in polls
  • Can can see poll votes

Attachments

  • Can see attachments
  • Can upload attachments
  • Max upload attachments
  • Max attachments per post
  • Can download attachments

Moderation

  • Can approve threads and posts
  • Can change threads labels
  • Can see edits history
  • Can pin threads
  • Can make annoucements
  • Can edit threads and posts
  • Can move, merge and split threads and posts
  • Can close threads (+posting in closed threads)
  • Can protect posts
  • Can delete threads (no|soft|hard) (+undelete for soft)
  • Can delete posts (no|soft|hard) (+undelete for soft)
  • Can delete polls (no|soft|hard) (+undelete for soft)
  • Can delete attachments

Little SEO tweaks

Little SEO tweaks:

  • Page title on next pages should contain "Page:" bit that would tell crawlers that this is next page
  • Send redirect on links to first page that contain page number to cut down list of duplicated content pages.

Password Reset

It has to be possible for members who have forgotten their password to request new one being generated and mailed to them.

Make user control panel modular

There should be API for 3rd party apps to plug custom actions to user control panel.

Apps could provide module usercp.py that would countain one method:

get_usercp_links(request)

This method would check if this app wants to include new links in user profile. Return value should be tuple containing tuples describing individual links:

('id', _("name"), 'route_name')

If app decides usercp for this user should have no actions from it, it should return None

Cache forums tree

Misago should cache forums tree. This three should contain simple set of dicts with following data:

{
'id': forum.pk,
'parent': forum.parent_id,
'level': forum.level,
'type': forum.type,
'name': forum.name,
'slug': forum.slug,
}

Optionally dict should contain "image" key that would hold ready recipe for rendering eventual image for forum. That recipe would be a string containing combination of four letters: s, l, t, i. Those letters would be replaced with image files in template (propably with macro) when tree branch image is rendered.

Make user profiles modular

There should be API for 3rd party apps to plug custom tabs to user profiles.

Apps could provide module profile.py or user_profile.py that would countain one method:

get_profile_tabs(request, user)

This method would check if this app wants to include new tabs in user profile. Return value should be tuple containing tuples describing individual tabs:

('id', _("name"), 'app.views.tabviewfunc')

If app decides user should have no tabs from it, it should return None

Compatibality issues under Chrome

Misago fails to render following items correctly under Chrome:

User Avatar column on users list has inccorect width - New css class for columns containing avatars must be created.

Search settings field has incorrect length - Dunno how to fix that one yet.

Optimalize querysets to dont use Filesort on MySQL

Some MySQL queries use "filesort" instead of indexes to read data from DB.

Django 1.5 includes index_together allowing component index, so this fix may have wait for 1.5 stabilisation.


Possible indexes

forums_forum

  1. lft

threads_thread:

  1. forum_id, weight, last

Account activations

It should be possible to force account activation requiremend by board administrator for those two scenarios:

  • New account registration - To make sure person registering account has access to e-mail address he used and thus complete control over account.
  • Board Admin decides he wants to have final say about who signs up for his forums.

Inspect IP

A simple view would take IP address, ask all models for activities associated with it, then render list of those activities

Sign In functionality

Sign In functionality allows members to sign into board using their account credentials.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.