Skip to content

dilshankarunarathne/storybook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StoryBook

Version License

Overview

Storybook is a social media web application built as a group project for CS3122 - Advanced Database Management Systems. This project demonstrates the application of database concepts and technologies in a real-world context.

Features

Users can:

  • Register and create profiles
  • Share posts with text and optional images
  • Comment on other users' posts
  • Like posts

API Documentation

The Postman API playground is available at Postman. API docs are available at /docs.

Installation

To install and run StoryBook, follow these steps:

  1. Clone the repository: git clone https://github.com/dilshankarunarathne/storybook.git
  2. Navigate to the project directory: cd storybook
  3. Install dependencies: cd server && npm install && cd ../client && npm install && cd ..
  4. Start the server: cd server && npm start
  5. Start the client: cd client && npm start

Project Structure

storybook-master
│   .gitignore
│   docker-compose.yml
│   LICENSE
│   README.md
│   swagger.json
│
├───.github
│       FUNDING.yml
│
├───client
│   │   .gitignore
│   │   .gitkeep
│   │   Dockerfile
│   │   package-lock.json
│   │   package.json
│   │   README.md
│   │
│   ├───public
│   │   │   index.html
│   │   │   style.css
│   │   │
│   │   └───assets
│   │           avatar_default.jpg
│   │           cover1.jpg
│   │           cover2.jpg
│   │           email-veri1.jpg
│   │           like.png
│   │           like1.jpg
│   │
│   └───src
│       │   App.css
│       │   App.js
│       │   App.test.js
│       │   index.css
│       │   index.js
│       │   logo.svg
│       │   reportWebVitals.js
│       │   setupTests.js
│       │
│       ├───api
│       │       comments.js
│       │       post.js
│       │       profile.js
│       │       reaction.js
│       │       users.js
│       │
│       ├───Components
│       │   ├───edit_profile
│       │   │       editProfile.css
│       │   │       EditProfile.jsx
│       │   │
│       │   ├───feed
│       │   │       feed.css
│       │   │       Feed.jsx
│       │   │
│       │   ├───landingPage
│       │   │       landingPage.css
│       │   │       LandingPage.jsx
│       │   │
│       │   ├───login
│       │   │       login.css
│       │   │       Login.jsx
│       │   │
│       │   ├───post
│       │   │       post.css
│       │   │       Post.jsx
│       │   │
│       │   ├───profile
│       │   │       profile.css
│       │   │       Profile.jsx
│       │   │
│       │   ├───register
│       │   │       register.css
│       │   │       Register.jsx
│       │   │
│       │   ├───share
│       │   │       share.css
│       │   │       Share.jsx
│       │   │
│       │   └───topbar
│       │           topbar.css
│       │           Topbar.jsx
│       │
│       ├───context
│       │       AuthContext.js
│       │       AuthProvider.js
│       │       PrivateRoute.js
│       │
│       └───pages
│           ├───forgot
│           │       forgot.css
│           │       Forgot.jsx
│           │
│           ├───home
│           │       home.css
│           │       Home.jsx
│           │
│           ├───reset
│           │       reset.css
│           │       Reset.jsx
│           │
│           └───success
│                   success.css
│                   Success.jsx
│
├───database
│       .gitkeep
│       database.sql
│       triggers.sql
│
├───docs
│       .gitkeep
│       index.html
│
└───server
│   .gitignore
│   app.js
│   db.js
│   Dockerfile
│   package-lock.json
│   package.json
│   process.env
│   README.md
│
├───controllers
│   │   authController.js
│   │   commentController.js
│   │   homeController.js
│   │   profileController.js
│   │   reactController.js
│   │
│   └───uploads
│           .gitkeep
│
├───middleware
│       authMiddleware.js
│       mailer.js
│
├───models
│       Comment.js
│       Post.js
│       React.js
│       User.js
│
└───static
    .gitkeep
    account-verification-mail.html
    forgot-password-mail.html

Contributions

We welcome contributions to this project. Please check the contribution guidelines for more information.

The group members are:

  • EUSL/TC/IS/2019/COM/24   Dilshan
    • Server Application
    • Database
    • Client-Server Integration
  • EUSL/TC/IS/2019/COM/109 Tharuka
    • Client Application
  • EUSL/TC/IS/2019/COM/69   Isuru
    • Client Application
  • EUSL/TC/IS/2019/COM/49   Udari
    • Client Application
  • EUSL/TC/IS/2019/COM/35   Madhawa
    • Documentation
  • EUSL/TC/IS/2019/COM/11   Abiram
    • Client Application
  • EUSL/TC/IS/2019/COM/23   Sakaniya
    • Client Application

License

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
CC BY-NC-SA 4.0
CC BY-NC-SA 4.0