Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dragosshd/blogjet
This app has been developed as a project for the FullStack Javascript course provided by Generatia Tech.
https://github.com/dragosshd/blogjet
crud-application ejs-templating express-js node-js server-side-rendering
Last synced: about 3 hours ago
JSON representation
This app has been developed as a project for the FullStack Javascript course provided by Generatia Tech.
- Host: GitHub
- URL: https://github.com/dragosshd/blogjet
- Owner: DragosSHD
- Created: 2022-02-01T14:32:29.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2022-04-02T09:42:16.000Z (over 2 years ago)
- Last Synced: 2024-11-16T12:04:42.711Z (about 3 hours ago)
- Topics: crud-application, ejs-templating, express-js, node-js, server-side-rendering
- Language: JavaScript
- Homepage:
- Size: 632 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Blogjet
## About
Blogjet is an easy tool to build your own blog. Create posts, categories and manage users easily from a simplified UI. This app has been developed as a project for the
FullStack Javascript course provided by [Generatia Tech](https://generatiatech.ro/cursuri/fullstack-javascript/).## Technical details
Blogjet is built using Node.js for server runtime and Express as the web framework. CRUD operations on data models are implemented through API endpoints to provide future compatibility
with a potential UI library like React. SEO features are aided by the possibility of specifying keywords for each post, which will be included as metadata.Pages of this application have a minimal loading time as server side rendering was used with [Embedded JavaScript templating](https://ejs.co).
Bootstrap and flex were used in order to provide easy to use and fast page styling.
Data is stored using a document oriented database (MongoDB) for simplicity and because of the
reduced number of required collections. Object modeling is implemented using mongoose. In order to handle sensitive data like user passwords, the [bcrypt](https://www.npmjs.com/package/bcrypt) library was used.
For preventing eronated data from reaching the database, [validator.js](https://www.npmjs.com/package/validator) was used on fields like the email address of a user.## Features to come
- authentication system in order to separate user space from admin space and manage permissions on post and category operations;
## Screenshots
![homepage](https://github.com/DragosSHD/blogjet/blob/master/demo_img/blogjet1.png)
![post page](https://github.com/DragosSHD/blogjet/blob/master/demo_img/blogjet2.png)
![edit a post page](https://github.com/DragosSHD/blogjet/blob/master/demo_img/blogjet3.png)
![category page](https://github.com/DragosSHD/blogjet/blob/master/demo_img/blogjet4.png)### Built With
* [Node.js](https://nodejs.org/en/)
* [Express.js](https://expressjs.com)
* [Ejs](https://ejs.co)
* [MongoDB](https://www.mongodb.com)
* [Mongoose](https://mongoosejs.com)