An open API service indexing awesome lists of open source software.

https://github.com/samehinttech/diving-courses-trips-logbook-project

A student project for the FHNW Internet Technology module, built to manage dive courses, trips, and digital logs. Focused on simplicity, applied OOP, CRUD operations, API design, and team workflows to build a scuba diving plarform.
https://github.com/samehinttech/diving-courses-trips-logbook-project

css dockerfile html java javascript student-project webdevelopment

Last synced: about 1 month ago
JSON representation

A student project for the FHNW Internet Technology module, built to manage dive courses, trips, and digital logs. Focused on simplicity, applied OOP, CRUD operations, API design, and team workflows to build a scuba diving plarform.

Awesome Lists containing this project

README

          

# OceanDive

A website that offers dive courses, trips, and digital dive logs, designed to
meet the requirements of the **Internet Technology module** at
**FHNW**.

[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)
[![Java](https://img.shields.io/badge/Java-21-orange.svg)](https://www.oracle.com/java/)
[![Spring Boot](https://img.shields.io/badge/Spring%20Boot-3.x-brightgreen.svg)](https://spring.io/projects/spring-boot)
[![Status](https://img.shields.io/badge/Status-Completed-success.svg)]()
[![Security Policy](https://img.shields.io/badge/security-policy-blue)](https://github.com/samehinttech/diving-courses-trips-logbook-project/security/policy)
[![Known Vulnerabilities](https://img.shields.io/badge/vulnerabilities-0-brightgreen)](https://github.com/samehinttech/diving-courses-trips-logbook-project/security)
[![Last Commit](https://img.shields.io/github/last-commit/samehinttech/diving-courses-trips-logbook-project?color=purple)](https://github.com/samehinttech/diving-courses-trips-logbook-project/commits/main)
[![GitHub issues](https://img.shields.io/github/issues/samehinttech/diving-courses-trips-logbook-project)](https://github.com/samehinttech/diving-courses-trips-logbook-project/issues)
[![GitHub stars](https://img.shields.io/github/stars/samehinttech/diving-courses-trips-logbook-project)](https://github.com/samehinttech/diving-courses-trips-logbook-project/stargazers)
---
## Features

- **Guest users**: Browse courses and trips, book without an account
- **Registered users**: Create accounts, log dives, manage logs
- **Admin users**: Manage courses, trips, content, and user accounts
- Responsive and user-friendly frontend

For **full documentation** (analysis, design, implementation, execution, project management, and development journey), visit [Wiki](https://github.com/samehinttech/diving-courses-trips-logbook-project/wiki).

---

## Technology Stack

- **Backend**: Java 21, Spring Boot, H2 Database, Spring Data JPA, Spring Security
- **Frontend**: Thymeleaf, CSS, JavaScript
- **API Documentation & Testing**: Swagger

---

## Quick Start

1. Clone the repository:
```bash
git clone https://github.com/samehinttech/diving-courses-trips-logbook-project.git
```

2. Navigate to the project directory:
```bash
cd diving-courses-trips-logbook-project
```

3. Add your own credentials to the `application.properties` file if needed.

4. Build and run the application using Maven Wrapper:
```bash
# On Windows
.\mvnw spring-boot:run

# On macOS/Linux
./mvnw spring-boot:run
```

5. Access the application in your web browser:
```
http://localhost:8080
```

6. For API documentation, visit:
```
http://localhost:8080/swagger-ui.html
```

> **Note:** This project uses Maven Wrapper (`mvnw`), so you don't need to install Maven separately.
## Deployment
The application has been successfully deployed to [Render](https://render.com/)

> **Note:** Free-tier hosting may result in occasional cold-start delays.

> **Important:** The deployed version may no longer be active, but you can still run the application locally.

## Maintainers
- [Iulia Mara Udrea](https://github.com/IuliaU) - Project Manager & WireFrame Designer
- [Mehak Khan](https://github.com/Mehak-Khan9) - Use Cases Design
- [Sameh Ahmed](https://github.com/samehinttech) - Backend & Front Developer, API design, database management, server-side logic
- Asim Rasheed - Project Representative

## Contributors
- Devid Montecchiari

## License

This project is licensed under the **Apache License 2.0**—see [LICENSE](LICENSE) for more details.

### Disclaimer
This project is developed for **educational purposes** as part of the Internet Technology module at FHNW.

### Important Notes
- **Not production-ready** without significant modifications
- **Provided without warranty** of any kind
- **Not intended for commercial use**
- **A learning exercise** demonstrating web development concepts

### What This Means
**You CAN:**
- Use this project for educational purposes
- Modify and distribute the code
- Use it in your portfolio or resume
- Learn from the implementation

**You CANNOT:**
- Use this for commercial purposes without permission
- Hold the authors liable for any issues
- Remove or modify copyright notices
- Claim this work as your own

## Acknowledgments
- **FHNW—** University of Applied Sciences Northwestern Switzerland
- **Internet Technology Module** - Course Lecturer and peers
- **Spring Framework Team** - For excellent documentation
- **H2 Database** - For a lightweight database solution
- **Render** - For free hosting platform

---

Made with ❤️ by FHNW students | [Report Bug](https://github.com/samehinttech/diving-courses-trips-logbook-project/issues) | [Request Feature](https://github.com/samehinttech/diving-courses-trips-logbook-project/issues)

**Have a feature idea?** [Suggest it here →](https://github.com/samehinttech/diving-courses-trips-logbook-project/issues/new?template=feature_request.md)

> *P.S. We are still students, so improvements and updates may continue! 🌟*

**If you find this project helpful, please consider giving it a star!**

---