diff --git a/README.md b/README.md new file mode 100644 index 0000000..3678fe0 --- /dev/null +++ b/README.md @@ -0,0 +1,185 @@ +# Task Manager + +This repository contains a full-stack Task Manager application with a client-side UI (using `React` / `Next.js`) and a server-side API (`Node.js` / `Express`). Both parts work together to enable task management functionality, including adding, editing, and deleting tasks. This guide will walk you through installing, running, and understanding each part of the project. + +--- + +## Table of Contents + +- [Project Overview](#project-overview) + +- [Installation](#installation) + +- [Running the Project](#running-the-project) + +- [File Structure](#file-structure) + +- [Technologies Used](#technologies-used) + +- [Contributing](#contributing) + +--- + +## Project Overview + +This application is split into **TWO** main sections: + +- **Client :** The front-end user interface, built with `React` / `Next.js` and styled with `Tailwind CSS`. + +- **Server :** The backend API, built with `Node.js` and `Express` providing `RESTful` endpoints for managing tasks. + +--- + +## Installation + +Before you begin, ensure you have the following installed: + +- `Node.js` (version `14.x` or higher) + +- `npm` (comes with `Node.js`) + +**Step 1: Clone the Repo\*** + +```bash +git clone https://github.com/kn1ghtm0nster/task-manager.git +cd task-manager +``` + +**Step 2: Install Dependencies for Client and Server** + +Navigate to the root project directory (AKA `task-manager`), and install dependencies for both the `client` and `server` folders. + +**Installing Server Dependencies** + +1. Navigate to the `server` folder: + + ```bash + cd server + ``` + +2. Install `server` dependencies: + + ```bash + npm install + ``` + +**Installing Client Dependencies** + +1. Return to the `root` project folder: + + ```bash + cd .. + ``` + +2. Navigate to the `client` folder + + ```bash + cd client + ``` + +3. Install `client` dependencies + + ```bash + npm install + ``` + +--- + +## Running the Project + +This project **REQUIRES** both the client and server to be running. Below are the instructions for each. + +**Running the Server** + +1. Navigate to the `server` directory (if not already there): + + ```bash + cd server + ``` + +2. Start the server: + + ```bash + npm start + ``` + + **NOTE :** The server will start on a predefined port (e.g. `http://localhost:5000`). + +**Running the Client** + +1. Open a new terminal and navigate to the `client` directory: + + ```bash + cd client + ``` + +2. Start the client: + + ```bash + npm run dev + ``` + + **NOTE :** The client will start on a different port (e.g. `http://localhost:3000`) + +--- + +## File Structure + +```plaintext +Task-Manager/ +├── client/ # Frontend files (React/Next.js) +│ ├── src/ +│ ├── public/ +│ ├── .eslintrc.json +│ ├── next.config.mjs +│ ├── package.json +│ └── README.md (to be removed) +├── server/ # Backend files (Node.js/Express) +│ ├── src/ +│ ├── tests/ +│ ├── .env +│ ├── package.json +│ └── tsconfig.json +├── .github/ # GitHub Actions configuration +└── README.md # Main README file (this file) +``` + +--- + +## Technologies Used + +- **Frontend :** `React`, `Next.js`, `Tailwind CSS` + + - [React Website](https://react.dev/) + + - [Next.js Docs](https://nextjs.org/docs) + + - [Tailwind CSS Docs](https://tailwindcss.com/docs/installation) + +- **Backend :** `Node.js`, `Express` + + - [Node.js Docs](https://nodejs.org/docs/latest-v20.x/api/index.html) + + - [Express.js Docs](https://expressjs.com/) + +- **Testing :** `Jest`, `React Testing Library` + + - [Jest Docs](https://jestjs.io/docs/getting-started) + + - [React Testing Lib Docs](https://testing-library.com/docs/react-testing-library/intro/) + +- **Version Control :** `Git`, `GitHub` + +## Contributing + +If you wish to contribute and update this project, please: + +1. Fork this Repo + +2. Clone your fork and create a new branch for your feature + +3. Make your changes and **test thoroughly** + +4. Open a Pull Request for review + + - **NOTE :** Please ensure the target branch is `develop` and **NOT** the `main` branch. diff --git a/client/README.md b/client/README.md deleted file mode 100644 index e215bc4..0000000 --- a/client/README.md +++ /dev/null @@ -1,36 +0,0 @@ -This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app). - -## Getting Started - -First, run the development server: - -```bash -npm run dev -# or -yarn dev -# or -pnpm dev -# or -bun dev -``` - -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. - -You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. - -This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel. - -## Learn More - -To learn more about Next.js, take a look at the following resources: - -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. - -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome! - -## Deploy on Vercel - -The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. - -Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.