Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/bmarieay/story-book
- Owner: bmarieay
- License: mit
- Created: 2022-03-18T23:09:21.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2022-05-27T05:39:32.000Z (over 2 years ago)
- Last Synced: 2023-03-08T22:12:10.994Z (over 1 year ago)
- Topics: crud-application, google-auth, mongodb, mongoose, nodejs, passport-google, passportjs, storybook
- Language: JavaScript
- Homepage: https://storybookshares.herokuapp.com/
- Size: 232 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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
```