jjtuttle / jambook

A place for musicians to post a session and other musicians can reply to them.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Welcome to Jambook!

Connect with musicians and the world around you on Jambook.
Here you can simply login or signup, takes less than a minute and you are posting.

  • If you do not want to signup but still look around inside click the Demo User Login button and you are in.

Screen Shot 2022-03-26 at 6 04 45 PM

Once signed in ou can simply type you message/question in the message box up top.

Screen Shot 2022-03-26 at 6 00 36 PM

And other users can reply right inside your post. You can even comment on other users' posts since you have to be logged in to do any posting or commenting.

Screen Shot 2022-03-26 at 6 02 49 PM

Application Architecture

Jambook is a fullstack site built with:

  • React and Redux for frontend
  • Flask Server & Python for the backend
  • PostgreSQL as the database
  • Node.js
  • AlchemySQL as the ORM that works well with Python on the backend.

Next Steps and Future Features

This is a basic and clean UI experience for getting authenticated, signing up as a user and start posting and others can log in and reply to a post in a comment. It is all logged and disaplyed by which user and how many days since the post/comment.

In the next sprint:

  • Adding a search feature so as a user one can easily at the top of the page type any word/phrase in and have the results displayed and the ability to click it to be taken to that post.
  • Adding a "like" feature so as a user one could like a post or a comment that they chose or unlike it.
  • Adding the character counter and having it displayed dynamically as the user types so they know where they are at on their character limit.

Instalation Instructions

  1. Clone this repo

    • git clone
  2. Install dependencies for backend

    • pipenv install
  3. Install dependencies for frontend

    • cd react-app
    • npm install
  4. Create PostgreSQL user

    • CREATE USER jambook_app WITH CREATEDB PASSWORD '<password>'
  5. Create PostgreSQL database

    • CREATE DATABASE jambook_app_dev WITH OWNER jambook_app
  6. Create a .env file in the root directory based on the .env.example file

  7. In .env file:

    • Replace 'password' in DATABASE_URL with your chosen password
    • Enter a secure combination of characters for you SECRET_KEY *. Flask Migrate and Seed your database in root directory
    • pipenv shell
    • flask db upgrade
    • flask seed all
  8. Start backend server in root directory

    • flask run
  9. Start frontend server in react-app directory

    • npm start
  10. In your browser go to localhost:3000

  11. You may use the Demo User by clicking on the Log In button

    • or create a new user by clicking Create new account
  12. Then you are logged in and can create a post, look at other posts, add comments to a post, edit your posts/comments

  13. As you scroll down simply click the up arrow button Screen Shot 2022-03-28 at 6 25 01 AM to be smoothly taken to the top of the page again where all posts and comments are sorted by the newest, top down.

About

A place for musicians to post a session and other musicians can reply to them.


Languages

Language:Python 57.5%Language:CSS 40.0%Language:Dockerfile 1.0%Language:Mako 0.8%Language:Shell 0.4%Language:HTML 0.4%