KLV Project is a full-stack web application developed as a study project. It serves as a news aggregator, combining a React frontend, a Spring Boot backend, and a MySQL database to provide users with a seamless news browsing experience.
- Browse and read news articles from various sources.
- User registration and login functionality.
- Bookmark articles for future reference.
- User profile page to manage bookmarks.
- Integration with external APIs to fetch news data.
Frontend: React, HTML5, CSS3, JavaScript
Backend: Spring Boot (Java)
Database: MySQL
Docker: Containerization and deployment
HTTP Client: Axios
Version Control: Git
IDE: IntelliJ IDEA (Java), Visual Studio Code (React)
To get started with the KLV Project, follow these steps:
- Clone the repository to your local machine.
- Make sure you have Docker installed.
- Update the environment variables in the
.envfile with your desired configuration. - Build and run the Docker containers using the
docker-compose upcommand in the root directory. - Access the application in your browser at http://localhost:3001.
The project has the following folder structure:
react-ui: Contains the React frontend code.springboot-backend: Contains the Spring Boot backend code.mysql-database: Contains the MySQL database configuration.
- Make changes to the code in the respective folders.
- Run the application locally using the provided scripts or commands.
- Test your changes and verify that the application is functioning as expected.
- Commit your changes to a new branch and push them to the remote repository.
- Create a pull request for review and merge it into the main branch.
Contributions to the KLV Project are welcome! This project is designed for study purposes, so if you find any bugs, issues, or have any suggestions, please open an issue or submit a pull request
This project is licensed under the MIT License.
The KLV Project team would like to thank all the contributors for their hard work and dedication.
For any inquiries or questions, please contact the project team at [email protected].