Skip to content

AppStarter is a website build using Rails and React/Redux. Check it out here

Notifications You must be signed in to change notification settings

achynaliev/AppStarter

Repository files navigation

AppStarter

Live Demo

AppStarter is a clone of Kickstarter, a crowdfunding website where users can create projects and support projects that they like. AppStarter utilizes a React\Redux frontend, Ruby on Rails backend, and a PostgreSQL database. The app uses JS ES6, BCrypt for password salting and hashing, and Webpack for bundling.

AppStarter wiki

Technology

Built with ...

  • Ruby on Rails and PostgreSQL on the backend

  • HTML, CSS, ReactJS/Redux and jQuery on the frontend

Features

  • User can create projects
  • Most popular projects based on number of Likes
  • Backings/Rewards
  • Secure frontend to backend user authentication using BCrypt.
  • Users can like projects
  • Search
  • Explore by categories

Design and implementation

Projects

On project show page, users can view details for a project. If users like the project they can like and back the project for a reward. Project show page provides detailed information about the project, video from project creator, current information on total amount of money project has raised, number of backers

main

as you can see in the code snipper below projects has many relations with other components of AppStarter. Model level validations as well database level validations. All foreign keys in the database are indexed to increase performance.

class Project < ApplicationRecord
  validates :title, :short_description, :full_description, :funding_goal,
            :funding_end_date, :user_id, presence: true

  belongs_to :user
  has_many :project_categories
  has_many :categories
  has_many :backings
  has_many :rewards
  has_many :likes
  has_many :likers

  def self.search_project(query)
    query = "%" + query.to_s.downcase + "%"
    search_result = Project.where('
      lower(title) LIKE ? or lower(short_description) LIKE ?', query, query)
  end

  #...
end

Explore page

Users can explore projects by categories, each project will display some information. Users can like the project or can click on project and find more information on project show page

explore

Most popular projects

explore

On the main page of AppStarter users can view most popular projects based on number of likes.

Future of AppStarter

...

About

AppStarter is a website build using Rails and React/Redux. Check it out here

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages