Vikashkatiyar / content-calendar

Project demonstrates Java and Spring Boot, paired with a Postgres database, to craft a flexible and effective API for handling diverse content. Created for learning and experimentation, it incorporates Spring Data JDBC, REST API, and CRUD operations with filtering features. A user-friendly tool for content .

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Steps to host api on railway.app

1.Select PostGreSQl DataBase on railway.app

2.Set a external variable --> spring_profiles_active=production

3.Select the Github Repository

4.Deployed automatically Run Anywhere✌️✌️😉

How to run this project on local machine

1.Just clone this project

2.make changes in application.properties file username and password ,port(if need)

3.Run the Application

4 just put this url in browser "localhost:8080/api/content" to get all data.

Used TeckStack

Spring Boot 3

spring-boot-starter-web

spring-boot-starter-validation

spring-boot-starter-data-jdbc

spring-boot-starter-actuator

postgresql database

Postman tool

Note:-

If you need any help feel free to reach out Vikashktr018@gmail.com

Image from railway.app

image

Image from Postman

image

Content Calender Spring RESP API

This project showcases the power of Java and Spring Boot, combined with a Postgres database, to create a versatile and efficient API for managing various types of content. This project is used for learning and experimentation.

Built With:

  • Java
  • Spring Boot
  • Postgres Database

Key Features:

  • Use Spring Data JDBC
  • REST API
  • CRUD + Filtering functionalities

Endpoints

Get Details (Home)

GET /

Get All contents

GET /api/content/

Get a specific content

GET /api/content/{{id}}

Add a new content

  • enum status "IDEA", "IN_PROGRESS", "COMPLETED", "PUBLISHED"
  • enum contentType "ARTICLE", "VIDEO", "COURSE", "CONFERENCE_TALK"
POST /api/content/
Content-Type: application/json
{
  "id": null,
  "title": "",
  "desc": "",
  "url": "",
  "status": "",
  "contentType": "",
  "dateCreated": "",
  "dateUpdated": null
}

Update existing content

  • enum status "IDEA", "IN_PROGRESS", "COMPLETED", "PUBLISHED"
  • enum contentType "ARTICLE", "VIDEO", "COURSE", "CONFERENCE_TALK"
PUT /api/content/{{id}}
Content-Type: application/json
{
  "id": null,
  "title": "",
  "desc": "",
  "url": "",
  "status": "",
  "contentType": "",
  "dateCreated": "",
  "dateUpdated": null
}

Delete existing content

DELETE /api/content/{{id}}

Filter by keyword

GET /api/content/filter/{{keyword}}

Filter by status

GET /api/content/filter/status/{{status}}

🤝 Contributing

Contributions, issues, and feature requests are welcome!

Show your support

Give a ⭐️ if you like this project!

About

Project demonstrates Java and Spring Boot, paired with a Postgres database, to craft a flexible and effective API for handling diverse content. Created for learning and experimentation, it incorporates Spring Data JDBC, REST API, and CRUD operations with filtering features. A user-friendly tool for content .


Languages

Language:Java 100.0%