/Stories

Primary LanguageHandlebars


mini-stories

๐Ÿ“ Make stories your mini-masterpiece with GitHub mini-stories!

๐Ÿš€ Developed with the software and tools below.

Express JSON Markdown JavaScript Passport


๐Ÿ“š Table of Contents


๐Ÿ“Overview

The mini-stories project is a platform designed to help users create, edit, and share short stories with the world. It helps users to easily create stories with a simple, intuitive user interface. The files included in the project give users the ability to customize their stories with HTML, CSS, and JavaScript. Additionally, the project also provides authentication and authorization capabilities to ensure users' stories remain private. It is a valuable asset for any user looking to expand their creative writing skills while connecting with other writers.


๐Ÿ”ฎ Feautres

Distinctive Features

  1. User-Centered Design: The mini-stories project is designed to provide a user-friendly platform for users to share stories and collaborate on projects. This is evident from the variety of views and templates available in the project's code. From the "welcome" page with its simple layout and login form, to the "dashboard" page with its more intricate design, the project includes different elements that cater to the user's experience.

  2. Authentication: The project includes authentication scripts which allow users to securely log in and access their stories. Passport.js is used to authenticate the user, and secure session handling is enabled to ensure that all data is kept secure.

  3. Data Modeling: The project includes models for both the User and Story entities. This allows users to create stories and keep track of them, while also providing a platform for collaboration. The models are linked to the database, allowing for easy retrieval of data.

  4. Flexible Layout: The project includes multiple templates for displaying stories and other elements on the page. This allows for a more varied user experience, with the ability to customize the layout to fit the user's needs.

  5. Styling: The project includes a style.css file which allows for custom styling of the user interface. This allows for further customization of the user experience, with the ability to adjust colors, font, and other elements to make the project more visually appealing.


โš™๏ธ Project Structure

repo
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ app.js
โ”œโ”€โ”€ config
โ”‚   โ”œโ”€โ”€ keys.js
โ”‚   โ”œโ”€โ”€ keys_prod.js
โ”‚   โ””โ”€โ”€ passport.js
โ”œโ”€โ”€ helpers
โ”‚   โ”œโ”€โ”€ auth.js
โ”‚   โ””โ”€โ”€ hbs.js
โ”œโ”€โ”€ models
โ”‚   โ”œโ”€โ”€ Story.js
โ”‚   โ””โ”€โ”€ User.js
โ”œโ”€โ”€ package-lock.json
โ”œโ”€โ”€ package.json
โ”œโ”€โ”€ public
โ”‚   โ”œโ”€โ”€ css
โ”‚   โ”‚   โ””โ”€โ”€ style.css
โ”‚   โ””โ”€โ”€ favicon.png
โ”œโ”€โ”€ routes
โ”‚   โ”œโ”€โ”€ auth.js
โ”‚   โ”œโ”€โ”€ index.js
โ”‚   โ””โ”€โ”€ stories.js
โ””โ”€โ”€ views
    โ”œโ”€โ”€ index
    โ”‚   โ”œโ”€โ”€ about.handlebars
    โ”‚   โ”œโ”€โ”€ dashboard.handlebars
    โ”‚   โ””โ”€โ”€ welcome.handlebars
    โ”œโ”€โ”€ layouts
    โ”‚   โ””โ”€โ”€ main.handlebars
    โ”œโ”€โ”€ partials
    โ”‚   โ”œโ”€โ”€ _add-btn.handlebars
    โ”‚   โ”œโ”€โ”€ _footer.handlebars
    โ”‚   โ””โ”€โ”€ _header.handlebars
    โ””โ”€โ”€ stories
        โ”œโ”€โ”€ add.handlebars
        โ”œโ”€โ”€ edit.handlebars
        โ”œโ”€โ”€ index.handlebars
        โ””โ”€โ”€ show.handlebars

12 directories, 27 files

๐Ÿ’ป Modules

Config
File Summary Module
keys.js Error generating file summary. config/keys.js
passport.js Error generating file summary. config/passport.js
keys_prod.js Error generating file summary. config/keys_prod.js
Css
File Summary Module
style.css Error generating file summary. public/css/style.css
Helpers
File Summary Module
auth.js Error generating file summary. helpers/auth.js
hbs.js Error generating file summary. helpers/hbs.js
Index
File Summary Module
about.handlebars Error generating file summary. views/index/about.handlebars
dashboard.handlebars Error generating file summary. views/index/dashboard.handlebars
welcome.handlebars Error generating file summary. views/index/welcome.handlebars
Layouts
File Summary Module
main.handlebars Error generating file summary. views/layouts/main.handlebars
Models
File Summary Module
User.js Error generating file summary. models/User.js
Story.js Error generating file summary. models/Story.js
Partials
File Summary Module
_footer.handlebars Error generating file summary. views/partials/_footer.handlebars
_add-btn.handlebars Error generating file summary. views/partials/_add-btn.handlebars
_header.handlebars Error generating file summary. views/partials/_header.handlebars
Root
File Summary Module
app.js Error generating file summary. app.js
Routes
File Summary Module
stories.js Error generating file summary. routes/stories.js
auth.js Error generating file summary. routes/auth.js
index.js Error generating file summary. routes/index.js
Stories
File Summary Module
index.handlebars Error generating file summary. views/stories/index.handlebars
edit.handlebars Error generating file summary. views/stories/edit.handlebars
add.handlebars Error generating file summary. views/stories/add.handlebars
show.handlebars Error generating file summary. views/stories/show.handlebars

๐Ÿš€ Getting Started

โœ… Prerequisites

Before you begin, ensure that you have the following prerequisites installed:

[๐Ÿ“Œ NodeJS Installed on your system]

๐Ÿ’ป Installation

  1. Clone the mini-stories repository:
git clone https://github.com/dzenis-h/mini-stories
  1. Change to the project directory:
cd mini-stories
  1. Install the dependencies:
npm install

๐Ÿค– Using mini-stories

node app.js

๐Ÿ›  Future Development

  • [๐Ÿ“Œ COMPLETED-BETA]
  • [๐Ÿ“Œ ADD-MORE-FEATURES]
  • [๐Ÿ“Œ IMPROVE THE DESIGN]

๐Ÿค Contributing

Contributions are always welcome! Please follow these steps:

  1. Fork the project repository. This creates a copy of the project on your account that you can modify without affecting the original project.
  2. Clone the forked repository to your local machine using a Git client like Git or GitHub Desktop.
  3. Create a new branch with a descriptive name (e.g., new-feature-branch or bugfix-issue-123).
git checkout -b new-feature-branch
  1. Make changes to the project's codebase.
  2. Commit your changes to your local branch with a clear commit message that explains the changes you've made.
git commit -m 'Implemented new feature.'
  1. Push your changes to your forked repository on GitHub using the following command
git push origin new-feature-branch
  1. Create a pull request to the original repository. Open a new pull request to the original project repository. In the pull request, describe the changes you've made and why they're necessary. The project maintainers will review your changes and provide feedback or merge them into the main branch.

๐Ÿชช License

This project is licensed under the MIT License. See the LICENSE file for additional info.