Coder Social home page Coder Social logo

pivorakmeetup / pivorak-web-app Goto Github PK

View Code? Open in Web Editor NEW
62.0 62.0 49.0 6.11 MB

Rails App for PivorakMeetup

Home Page: http://pivorak.com

Ruby 78.58% JavaScript 1.87% HTML 1.43% Dockerfile 0.07% Shell 0.47% SCSS 6.90% Slim 10.69%
events open-source rails ruby rug

pivorak-web-app's People

Contributors

ailecksandr avatar aleksacastle avatar avozniak avatar ayaremchuk avatar bogdanvlviv avatar denys-medynskyi avatar denys281 avatar dependabot[bot] avatar floor114 avatar g3d avatar greysteil avatar illia108 avatar irinkaa avatar kushniryb avatar mplesha avatar n-gb avatar nazik23 avatar nickkolya avatar okbil avatar oookli avatar oxanayoxana avatar pbilyk avatar sayok avatar skrix avatar sontsevolosa avatar sveredyuk avatar tkharuk avatar vlasiak avatar vova avatar ypadlyak 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

Watchers

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

pivorak-web-app's Issues

Chat

Page about Slack chat.
Form where any user can request chat join.
If he/she registered - send invitation to the email and if not - allow input email

Tune SimpleCov config

  • Exclude view helpers
  • Exclude channels
  • Exclude any application_ file
  • Skip check cover for all redundant parts of app
  • Add Services group
  • Add Interactors group
  • Avoid Ungrouped section

Organize README.md

  • Initialize README.md
  • About
  • Goals
  • Features
  • Architecture
  • Requirements
  • What's next...

Events resource

  1. Events CRUD [:title, :description, :staretd_at, :finished_at]
  2. Specs

Talks resource

  1. Talks CRUD [:title, :description, :video_url, :slides_url, :event_id, :speaker_id]
  2. Specs

Donations

Donations are important! More important than donations are goals which cover by donations.

We need Goals resource [title, description, amount] and only admin can manage goals.
The regular member can only view it and make donations.

Donations through Stripe in UAH.
Donations could be assigned to user or anonymous if user logged in and checkbox "anonymous donation"

App receives all payments (donations) and register them.
Also admin can add payment as cash.

Progress bar at goal page shows how much UAH/percents collect/left.

When expected amount == total donations per goal -> goal become achieved!
Yeahh.... pfpfpfpf... salute!

Members list

Ability to see users list with first and last name

Admin area

  • create /admin namespace
  • split layout and assets
  • move all resource control to admin controllers
  • authorize only admin area
  • reorganize specs

Select venue for event

Add possibility to select venue for Event resource.

  • add venue_id field to events
  • add dropdown select for venue collection in event form
  • add venue name display at admin/events#index
  • venue can be nil
  • specs

Setup sidekiq

Add sidekiq for background process management. Use it like adapter for ActiveJob

Add Admin user management

Admin need manage users: create and update. Reset password.
Give control over account to physical person.

Authentication process

  1. Devise gem
  2. User [:name, :first_name, :last_name]
  3. SignUp/Login via:
  • email / password
  • github
  • facebook

Mail Service

Ability to send email with :title, :body to selected scope of users. TODO: specify which criterias needed for select the scope

User profile management

User can manage his/her profile:

  • Change name/email/password
  • Choose avatar or select use from gravatar
  • Fill profile data (.. job title, company, etc.. )

Assign talks to event

Event form - add possibility select (by checkboxes) assigned talks (only not yet assigned talks)

Venue resources

  1. CRUD [:name, :address, :maps_url, :description]
  2. Venue has_many :events
  3. Event belongs_to :venue, optional: true

Full text seach

Implement Postgres Full Text Search for fast searching users, events, talks.
https://github.com/Casecommons/pg_search

In this iteration - only for admin area.

User - by email, full_name
Event - by title, agenda, description
Talk - by title, speaker full_name, description

Blog

Simple blog engine

  1. Blog section with markdown editor - https://simplemde.com/
  2. Posts CRUD [:title, :body, :author_id, published(bool)], has_many :tags, belongs_to :author
  3. Tags with autocompletion at new/edit post form
  4. Filter posts by tag at posts#index
  5. Search posts by pg_search
  6. Well tested

Setup CI

  1. Add TravisCI
  2. Add badge to README.md

User registration over synthetic record

user.synthetic responsible to keep track on all admin's created accounts.

When real user with the same email try to register He/She should receive purpose to take control over this synthetic account by reset password through email.

In such way new member will take his account and synthetic will be false.

Authorization

  • Simple authorization based on user.admin?
  • Authorize [:new, :edit, :create, :update] controllers actions
  • Authorize views by admin? helper to show/hide admin's area

User slug generator

Set user slug based on first_name and last_name.

Example:

first_name: 'Volodya'
second_name: 'Sveredyuk'
slug: 'volodya-sveredyuk' # or volodya-sveredyuk-1 or -2 or -3 if duplicated

Deploy process

  1. Setup production ENV
  2. Setup Capristano
  3. Add backups system

Resource publishing

We need published/unpublished logic for resources:

  • Events
  • Talks

TODO:

  1. Add bool filed published
  2. Checkboxes into forms
  3. Model scopes: published and not_published
  4. Specs

Event visit request

Users can request visit for events with open registrations

  • Model VisitRequest [:event_id, :user_id, :status]
  • Request status: TODO: specify
  • User can place request
  • Admin can react on request: Approve, Cancel
  • Admin can mark user visit as success or passed (event was visited by user or not) TODO: specify

feature is under discussion, please specify talk before start

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.