https://github.com/devilkiller-ag/engineeringwithashmit
Blogging Application for Ashmit: Engineering With Ashmit
https://github.com/devilkiller-ag/engineeringwithashmit
Last synced: 8 months ago
JSON representation
Blogging Application for Ashmit: Engineering With Ashmit
- Host: GitHub
- URL: https://github.com/devilkiller-ag/engineeringwithashmit
- Owner: devilkiller-ag
- License: agpl-3.0
- Created: 2025-01-15T21:27:48.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-17T09:56:07.000Z (over 1 year ago)
- Last Synced: 2025-01-17T10:34:43.491Z (over 1 year ago)
- Language: EJS
- Homepage: https://engineeringwithashmit.ashmit.dev/
- Size: 1.27 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Engineering With Ashmit
A blogging application for Ashmit JaiSarita Gupta where he can share engineering stuffs he learns and does.
## Visit the site
The site is live [here](https://engineeringwithashmit.ashmit.dev/).
## Features
- An Express.js application for sharing my blogs with complete server-side rendering and dynamic content delivery.
- RESTful APIs for managing blogs, user authentication, and dynamic content delivery following MVC pattern.
- Utilizes EJS templating engines and Flowbite to create server-side rendered UI and MongoDB to store application Data.
- Utilizes Marked.js to convert markdown to HTML for blog content.
- User can create an account and log into the application.
- User can create, edit, and delete blogs.
- Users can add or remove comments in any blog.
- User dashboard to manage and showcase blogs.
- Profile page to manage user information.
## Techstack
### Backend
- Node.js
- Express.js
- JWT
- Dotenv
- EJS
- Marked
- Tailwind CSS
- Flowbite
### Deployment and Storage
- Database: [MongoDB Atlas](https://www.mongodb.com/atlas/database)
- Backend: [Render](https://render.com/)
## Contributor
- Developed by [Ashmit JaiSarita Gupta](https://github.com/devilkiller-ag).
# Development Guide
## Available Scripts for Server
In the server directory, you can run:
### `npm run dev`
Runs the app in the development mode.\
Open [http://localhost:8001](http://localhost:8001) to view it in your browser.
The page will reload when you make changes.\
You may also see any lint errors in the console.
## Available Scripts for Docker
#### Prerequisites:
- [install Docker](https://docs.docker.com/get-docker/)
- [install Docker Compose](https://docs.docker.com/compose/install/)
After cloning the repository to your local, perform the following steps from the root of the repository.
#### Steps to build and run local docker image:
1. Build the Docker image and run the container:
```bash
docker compose up
```
2. Open [http://localhost:8001](http://localhost:8001) to view it in your browser.
#### Steps to build and run docker image from dockerhub:
1. Pull the image from dockerhub:
```bash
docker pull devilkillerag/engineeringwithashmit:latest
```
2. Run the container:
```bash
docker run -p 8001:8001 devilkillerag/engineeringwithashmit:latest
```
3. Open [http://localhost:8001](http://localhost:8001) to view it in your browser.
#### Steps to build a new version and upload to docker hub:
1. Build the Docker image:
```bash
docker build -t devilkillerag/engineeringwithashmit: .
```
2. Push the image to docker hub:
```bash
ddocker push devilkillerag/engineeringwithashmit:
```