Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bmarieay/story-book

App that allows users to create public and private stories
https://github.com/bmarieay/story-book

crud-application google-auth mongodb mongoose nodejs passport-google passportjs storybook

Last synced: 10 days ago
JSON representation

App that allows users to create public and private stories

Awesome Lists containing this project

README

        

# Story Book

A Web App that allows users to:

1. Sign In/Sign Up through Gmail
2. Post public or private stories
3. Edit and delete their stories
4. View other users' public stories
5. View other users' profile

**Upcoming Feature/s**
1. **๐Ÿ’ฌ Chat** - user will be able to leave a comment to other's post
2. **๐Ÿ‘ Reaction** - user will be able to leave a like to a post

## Frontend Technologies
- **HTML & Embedded Javascript** - ejs is used for templating, thus reducing multiple source files.

## Backend Technologies
- **NodeJS & ExpressJS** - used for server-side scripting such as creating routes, establishing a connection with the database, etc.
- **MongoDB** - NoSQL database for saving users and posts.
- **PassportJS** - used for google authentication when logging in/signing up

## Securities
- **Mongo Injection** - disabled dangerous visitors in injecting a query to get information from the database.
- **Route Protection** - only allowed authenticated users to visit a certain route or web page

### File Structure
```
.
|--๐Ÿ—‚๏ธ config
| | `--๐Ÿงพ db.js
| | `--๐Ÿงพ passport.js
|
|
|--๐Ÿ—‚๏ธ helpers
| | `--๐Ÿงพ ejs.js
|
|
|--๐Ÿ—‚๏ธ middleware
| | `--๐Ÿงพ authentication.js
|
|
|--๐Ÿ—‚๏ธ models
| | `--๐Ÿงพ Story.js
| | `--๐Ÿงพ User.js
|
|
|--๐Ÿ—‚๏ธ public
| |--๐Ÿ“‚ images
| | `--๐Ÿงพ favicon.svg
| |--๐Ÿ“‚ stylesheets
| | `--๐Ÿงพ styles.css
|
|
|--๐Ÿ—‚๏ธ routes
| | `--๐Ÿงพ auth.js
| | `--๐Ÿงพ index.js
| | `--๐Ÿงพ story.js
|
|
|--๐Ÿ—‚๏ธ utils
| | `--๐Ÿงพ ApplicationError.js
|
|
|--๐Ÿ—‚๏ธ views
| |--๐Ÿ“‚ layouts
| | `--๐Ÿงพ boilerplate.ejs
| |--๐Ÿ“‚ partials
| | `--๐Ÿงพ _header.ejs
| |--๐Ÿ“‚ stories
| | `--๐Ÿงพ edit.ejs
| | `--๐Ÿงพ index.ejs
| | `--๐Ÿงพ new.ejs
| | `--๐Ÿงพ show.ejs
| |--๐Ÿ“‚ users
| | `--๐Ÿงพ dashboard.ejs
| | `--๐Ÿงพ login.ejs
| | `--๐Ÿงพ show.ejs
| |--๐Ÿงพ error.ejs
|
|
|--๐Ÿงพ .gitignore
|--๐Ÿงพ app.js
|--๐Ÿงพ package-lock.json
|--๐Ÿงพ package.json
|--๐Ÿงพ Procfile
|--๐Ÿงพ README.md
```