This is a basic task management application.
Dependencies axios, cors, dotenv, express, mongodb, mongoose, node, react
Dev Dependencies nodemon, vite
This repository requires the use of npm
. You can find installation instructions here.
-
In order to prevent sharing credentials,
dotenv
is being used. The.env
file can be found here:./server/src/config/.env
..gitignore
is properly configured to ignore.env
files. -
The server datebase configuration can be found in
./server/src/config/db.js
-
All directories and filenames are named semantically, giving a logic to components, controllers, hooks, models, and routers.
-
Comments have been left to explain the purpose of important files, and where appropriate, to explain why something exists.
-
Classes, functions, modules, objects, and variables have been named semantically so that the code is easier to understand and more modular.
- Clone the repository
git clone https://github.com/GarlandKey/tma.git
- Go to server directory
cd server
Note: All directory paths listed assume that you are in the root directory,
tma
, and will be indicated as./
-
Install server packages
npm i
-
Go to client directory
cd ./client
- Install client packages
npm i
- Go to src directory
cd ./server/src
- Start the server
Runs the server in development mode. http://localhost:2121. The developer build runs with nodemon
so it will automatically restart when you make changes.
npm start server
- Go to client directory
./client
- Start the client
vite
This project is licensed under the GNU General Public License v3. See LICENSE for more information.
The MVP is not complete. The following need to be done to.
-
The
AddTask.jsx
component needs to redirect back to/
when thePOST
request is successful and provide an error message to the user when something goes wrong. -
The
EditTask.jsx
component needs tweaking so that the data that is beingPUT
meets the server schema and therefore stops returning a server error. -
There needs to be a new
DeleteTask.jsx
button component that can be used within the following components:TaskList.jsx
,EditTask.jsx
.