Blog Platform & Bloggers-Svelte
A full-stack blogging platform combining the power of Spring Boot (Java) for the backend and Svelte + TypeScript for the frontend.
This platform enables users to create, manage, and publish blog posts with ease — offering an intuitive writing experience, organized content management, and reader engagement features.
Overview
The Blog Platform provides users with a space to share their thoughts, experiences, and expertise through written content.
It supports post creation, categorization, tagging, drafts, comments, and search, all within a fast and responsive interface powered by Svelte.
Features
Core Features
Content Creation
- Create and edit blog posts with a rich text editor.
- Supports formatting (bold, italic, headings, lists).
- Each post includes a title, content, and estimated reading time.
- Delete posts with confirmation prompts.
Content Organization
- Assign categories and multiple tags to posts.
- Create and delete categories and tags.
- Display category and tag counts for better organization.
Draft Management
- Save posts as drafts and preview before publishing.
- Drafts include a last modified date.
Bonus Features
Reader Engagement
- Readers can leave comments on published posts.
- Comments show timestamps and author information.
Content Discovery
- Full-text search with filtering by category or tag.
- Sort results by date or relevance.
- Related posts suggested based on categories/tags.
- Built-in RSS feed and SEO metadata for better visibility.
- Archive view organizes posts by publication date.
Definitions
- Post: Written content that includes a title, body, optional images, tags, and publication date.
- Category: A broad classification used to group posts (e.g., Technology, Travel).
- Tag: Specific keywords that describe the post’s details (e.g., Java, Productivity).
Tech Stack
Installation
Backend Setup (Spring Boot)
- Clone the backend repository:
git clone https://github.com/regisx001/Blog_Application.git
cd Blog_Application
- Build and run:
mvn clean install
mvn spring-boot:run
- The backend will start on:
http://localhost:8080
Frontend Setup (Svelte)
- Clone the frontend repository:
git clone https://github.com/regisx001/Bloggers-Svelte.git
cd Bloggers-Svelte
- Install dependencies:
npm install
# or
yarn install
- Start the development server:
npm run dev
# or
yarn dev
- Open your browser at:
http://localhost:5173
Project Structure
Backend (Blog_Application)
src/
├── main/
│ ├── java/ → Spring Boot application code
│ ├── resources/ → Configuration files (application.properties, etc.)
└── test/ → Unit and integration tests
Frontend (Bloggers-Svelte)
src/
├── components/ → Reusable Svelte components
├── routes/ → Application pages and navigation
├── lib/ → Utility libraries and helpers
public/ → Static assets (icons, CSS, etc.)
Customization
- Modify frontend styles in
src/ and public/.
- Extend backend entities, controllers, and services to add more features (e.g., authentication, analytics).
- Easily integrate third-party tools like Google Analytics, Disqus, or OpenAI API for AI-driven recommendations.
Contributing
Contributions are welcome!
To contribute:
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature-name
- Commit your changes:
git commit -m "Add your feature or fix description"
- Push and open a pull request.
License
This project is licensed under the MIT License — see the LICENSE file for details.
Acknowledgments
- Inspired by Medium, WordPress, and Blogger.
- Built with Svelte and Spring Boot.
For questions or support, please reach out via GitHub:
@regisx001