XMeme is a simple backend web application where users can post and view memes. Built using Spring Boot and MongoDB, this project focuses on API design, modular architecture, and clean backend implementation.
- Built from scratch using Spring Boot and MongoDB.
- Designed and implemented REST APIs to post and fetch memes.
- Includes a minimal HTML frontend for interaction with the backend.
- Created a backend server using Spring Boot with REST API handlers.
- Implemented:
POST /memes– to post new memesGET /memes– to retrieve the latest 100 memesGET /memes/{id}– to fetch an individual meme by IDDELETE /memes/{id}-to delete an individual meme by ID
- Used MongoDB to persist meme data.
- Designed APIs to return:
name,caption, andurl. - Followed proper HTTP standards for status codes and error messages.
- Tested endpoints using Postman.
- Wrote modular code using MVCS architecture.
- Java 21
- Spring Boot
- MongoDB
- REST API
- HTML/CSS (frontend)
- Jackson
- Lombok
- Sprint Data
- Java 21+
- Maven or Gradle
- MongoDB running on
localhost:27017
- Rename
application-template.propertiestoapplication.propertiesinsrc/main/resources/. - Update MongoDB URI if needed:
spring.data.mongodb.uri=mongodb://localhost:27017/memesDB
server.port=8080./mvnw spring-boot:runVisit frontend at: http://localhost:8080
| Method | Endpoint | Description |
|---|---|---|
| POST | /memes |
Submit a new meme |
| GET | /memes |
Get the latest 100 memes |
| GET | /memes/{id} |
Get details of a meme by its ID |
| DELETE | /memes/{id} |
Delete meme by its ID |