https://github.com/vishwas-chakilam/sbb6_todo
Simple Web Todo App Using Java Full Stack
https://github.com/vishwas-chakilam/sbb6_todo
eclipse html5 java
Last synced: 7 months ago
JSON representation
Simple Web Todo App Using Java Full Stack
- Host: GitHub
- URL: https://github.com/vishwas-chakilam/sbb6_todo
- Owner: Vishwas-Chakilam
- Created: 2025-03-12T10:23:12.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-03-13T04:43:51.000Z (7 months ago)
- Last Synced: 2025-03-13T05:27:27.025Z (7 months ago)
- Topics: eclipse, html5, java
- Language: Java
- Homepage:
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SBB6_TODO Web Application
## Overview
This is a full-stack web application that allows users to manage their tasks (To-Do List) in a simple and intuitive interface. It is built using Java (for the backend) and JSP/HTML (for the frontend), with real-time user authentication and database connectivity for persistent storage.The application supports user registration, login, adding tasks, viewing tasks, and marking tasks as completed.
## Features
- **User Authentication**: Secure user login and registration with session management.
- **Task Management**: Add new tasks, view tasks, and mark them as completed.
- **Database Connectivity**: Data is stored in a relational database, ensuring tasks are persisted across sessions.
- **Real-Time Authentication**: Real-time login and registration with immediate access to the task list upon successful authentication.## Technologies Used
- **Backend**: Java (Servlets, JDBC)
- **Frontend**: JSP, HTML, CSS
- **Database**: MySQL or any JDBC-supported database
- **Authentication**: Real-time user authentication using Java sessions## Project Structure
### 1. Backend (Java)
- **src/main/java**: Contains Java classes for backend logic.
- **beans**: Contains Java beans like `Task.java` (model for tasks) and `Register.java` (user registration).
- **dao**: Includes `ToDoDAO.java` (data access object for tasks) and `ToDoDAOImpl.java` (implementation of the DAO).
- **servlets**: Servlets for handling requests (adding tasks, registering, logging in, etc.)
- `AddTaskServlet.java`
- `LoginServlet.java`
- `RegisterServlet.java`
- `LogoutServlet.java`
- `MarkTaskCompletedServlet.java`
- **factory**: Database connection factory (`DBConn.java`) to handle database connections.### 2. Frontend (JSP/HTML)
- **src/main/webapp**: Contains JSP and HTML files for the UI.
- **Login.jsp**: Login page for users.
- **Register.html**: Registration page for new users.
- **ViewTasks.jsp**: Displays the list of tasks with the ability to mark them as completed.### 3. Database
- The database is used for storing user credentials and tasks. The `ToDoDAO.java` is responsible for handling CRUD operations.
### 4. Configuration
- **web.xml**: Web configuration file for servlets and URL mapping.
### 5. Target Directory
- **target**: This directory contains the compiled `.class` files and the final `.war` file (deployable web archive).### 6. Maven
- **pom.xml**: Maven configuration for project dependencies and build management.## Installation
### Prerequisites
- Java 8 or higher
- Maven
- A relational database (e.g., MySQL) or JDBC-compatible database
- Apache Tomcat or any other servlet container to run the web application### Steps to Run
1. Clone the repository:
```bash
git clone https://github.com/Vishwas-Chakilam/SBB6_TODO.git
```2. Navigate to the project directory:
```bash
cd SBB6_TODO
```3. Configure the database connection in `DBConn.java` (in `src/main/java/factory/DBConn.java`).
- Update the database URL, username, and password for your MySQL or other relational database.4. Build the project with Maven:
```bash
mvn clean install
```5. Deploy the `.war` file located in `target/` folder to your servlet container (e.g., Apache Tomcat).
6. Open the application in your browser:
```bash
http://localhost:8080/todo
```## Usage
1. **Register a new account**: Visit the `Register.html` page to create a new account.
2. **Login**: After registering, use the `Login.jsp` page to log in.
3. **Manage Tasks**: Once logged in, you can add tasks, view tasks, and mark them as completed on the `ViewTasks.jsp` page.## Contributing
Feel free to fork the repository, make changes, and submit a pull request. Contributions are welcome!## License
This project is open-source and available under the MIT License.