This is a full-stack web application designed for task management, utilizing React for the frontend and Express for the backend. The application incorporates Material-UI (MUI) for a sleek and responsive user interface and communicates with the server using
Admin page for creating and managing all users.
Managing your own profile.
Application selection
View tasks and plans
Manage tasks
The MERN stack, traditionally consisting of MongoDB, Express.js, React.js, and Node.js, forms a cohesive and efficient technology stack for developing web applications. The stack leverages a unified JavaScript language across the entire application, streamlining development and promoting code reusability. The frontend benefits from React's declarative and component-based architecture, enabling a dynamic and responsive user interface. On the backend, Express.js, coupled with Node.js, provides a lightweight and flexible server environment, allowing for the creation of robust APIs. While the traditional MERN stack incorporates MongoDB as a NoSQL database, substituting it with MySQL introduces a relational database paradigm, offering transactional support and a structured data model. This adaptation caters to projects where relational data integrity is a priority, while still retaining the agility and efficiency of the MERN stack for full-stack JavaScript development.
This application uses MySQL as its database, make sure you have it installed.
Use the provided database_setup.sql
to set up your database's schema and populate it with default user and user groups to allow you to begin using the application
- Admin
- Username:
admin
- Password:
abc123!!
- Username:
- Project lead
- Username:
project lead
- Password:
abc123!!
- Username:
Use the provided backend/config/.env
and set up your environment variables.
- Configure your database connection to your MySQL server instance
- Change the JWT secret
The final section of the environment variables is dedicated to configuring the SMTP (Simple Mail Transfer Protocol) settings for email functionality within the application. I use mailtrap to test the email functionality, but feel free to set up your own SMTP connection.
Finally make sure to copy the .env.template
into a new .env
file before making changes.
To run the application after completing the set up above, follow these steps:
-
Install all dependencies
npm run install-all
-
Run application
npm run start
-
Access the web page using http://localhost:3000