Skip to content

DanielLaV/MagicBook

Repository files navigation

MagicBook

splash page

Live Site | Project Wiki | Report Bug

MagicBook is a social media site for students of Hogwarts. This website was designed as a Week 21 project as part of App Academy's 24-week Full Stack Software Engineering Bootcamp.

Technologies Used

Javascript | Node.js | Flask | React | Redux | SQLAlchemy | PostgreSQL

Launching Locally

Prerequisites

Getting Started

  1. Clone the project repository
   git clone https://github.com/DanielLaV/MagicBook.git
  1. Install dependencies
   pipenv install --dev -r dev-requirements.txt && pipenv install -r requirements.txt
  1. Create a local .env file modeled after the .env.example file in the root directory
   FLASK_APP=app
   FLASK_ENV=development
   SECRET_KEY=<<YOUR-SECRET_KEY>>
   DATABASE_URL=postgresql://magicbook_app:<<PASSWORD>>@localhost/magicbook_db
  1. Set up your PostgreSQL user, password, and database. Make sure that it matches your .env file!

  2. Access your pipenv shell, migrate your database, seed your database, and run your flask app with the following commands:

pipenv shell
flask db upgrade
flask seed all
flask run
  1. To run the React App, cd into the react-app directory, install react-app, and then start React:
   cd react-app
  npm install
  npm start

MagicBook In Action

Full user stories for the initial development phase are available on the User Stories section of the project wiki. A feature list for the initial development phase is available on the Feature List section of the project wiki.

User Registration and Authentication

New users can register for an account by entering a unique username and email, their name, school house, year and a secure password.

sign up form

Existing users can log in to their account by submitting their credentials via the login form.

login form

Logged in users can edit their profile.

Edit profile feature

Users may log out of their account by clicking the LOGOUT button on the site-wide navigation sidebar.

logout button

Creating and Modifying A Post

A user may add new posts to their profile.

add new post feature image

Users can edit or remove their posts from their profile.

Editing a post feature

Deleting a post feature

Adding and Removing Comments From Posts

Users can comment on posts. They can read other comments and edit and delete their own comments.

image

Technical Implementation

Database Design

The full database schema is available to view on dbdiagram.io, or as a list of tables on the Database Schema page of the wiki.

Frontend Routes

All frontend routes are covered in detail on the Fronted Routes section of our project wiki. Frontend routes were designed to enable users access to basic functionality such as registration, authentication, viewing posts, accessing comments, and viewing their profile page where users can manage their info.

API Routes

All frontend routes are covered in detail on the API Routes section of our project wiki. API routes were designed for users to interact with a page without being redirected.

Developmental Challenges

Improved User Experience

Site-wide Responsiveness

The website is currently functional on all screen sizes, but is styled for screens greater than 900 px in width. New smaller-scale layouts will be implemented so that the user experience on mobile or tablet devices is comparable to the desktop user experience.

Developer

Daniel LaVergne | Github | LinkedIn

About

A social media experience for students of Hogwarts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published