The project is a full-stack web application designed to demonstrate proficiency in software engineering, database design, and secure coding practices. The application features a React frontend and a Node.js/Express backend, providing a platform for managing and interacting with a relational database.
-
Frontend: Built with React, offering a responsive and intuitive user interface.
-
Backend: Developed with Node.js and Express, handling API requests and server-side logic.
-
Database: Utilizes MongoDB for data storage and management.
-
Security: Implements best practices to protect against common vulnerabilities such as SQL injection.
CS499-database/
├── client/ # React frontend
├── server/ # Node.js/Express backend
├── README.md # Project documentation
-
Clone the repository:
git clone https://github.com/Thomas-Christian/CS499-database.git cd CS499-database -
Set up the backend:
cd server npm install # Configure your database connection in the .env file npm start
-
Set up the frontend:
cd client npm install npm start -
Access the application:
Open your browser and navigate to
http://localhost:3000.
The application allows users to perform CRUD (Create, Read, Update, Delete) operations on the database through a user-friendly interface. It serves as a practical demonstration of integrating frontend and backend technologies with a relational database.
Security is a critical aspect of this project. Measures have been implemented to prevent common vulnerabilities:
-
SQL Injection: All database queries use parameterized statements to prevent injection attacks.
-
Input Validation: User inputs are validated on both the client and server sides to ensure data integrity.
-
Error Handling: Comprehensive error handling is in place to manage unexpected issues gracefully.
This project is licensed under the MIT License.