Database Project Jupiter is a full-stack application primarily developed using the MySQL, Express, Node.js, and React (MERN) tech stack. This project emphasizes database management, featuring a highly normalized database with extensive use of MySQL functions, procedures, triggers, and events. It was a collaborative effort that showcases excellent teamwork.
- About the Project
- Features
- Technologies Used
- Setup Instructions
- Usage
- Security
- Database Design
- Contributing
- License
- Contact
This project was created to demonstrate advanced database management techniques and full-stack application development. It integrates a highly normalized database with robust security mechanisms, including JSON Web Token (JWT) authentication, and ensures data integrity through MySQL triggers and events.
- Full-Stack Architecture: Built with React for the front-end and Node.js with Express for the back-end.
- JWT Authentication: Secure authentication using tokens passed via headers.
- Protected Routes: Security implemented on both front-end and back-end to restrict unauthorized access.
- Database Management: Extensive use of MySQL functions, stored procedures, triggers, and events for efficient data handling.
- Responsive Design: A modern and responsive user interface styled with Tailwind CSS.
- Team Collaboration: Developed with contributions from multiple collaborators.
The project utilizes the following technologies:
- React: JavaScript library for building user interfaces.
- Tailwind CSS: Utility-first CSS framework for styling.
- Node.js: JavaScript runtime for server-side development.
- Express: Web application framework for Node.js.
- MySQL: Relational database management system.
- JWT (JSON Web Tokens): For secure token-based authentication.
Follow these steps to set up the project locally:
-
Clone the repository:
git clone https://github.com/IllangasingheIMDP/Database_Project_Jupiter.git cd Database_Project_Jupiter -
Back-End Setup:
- Navigate to the
backenddirectory:cd server - Install dependencies:
npm install
- Configure your environment variables (e.g., database connection, JWT secret) in a
.envfile. - Start the server:
npm start
- Navigate to the
-
Front-End Setup:
- Navigate to the
frontenddirectory:cd client - Install dependencies:
npm install
- Start the development server:
npm start
- Navigate to the
-
Access the application in your browser at:
http://localhost:3000
- Use the login feature to authenticate and access protected routes.
- Interact with the database through the user-friendly interface.
- Admin features allow managing and updating database records efficiently.
- JWT Authentication: Tokens are passed in headers for secure communication.
- Protected Routes: Both front-end and back-end routes are secured to prevent unauthorized access.
- The database is fully normalized to achieve optimal performance and data integrity.
- MySQL functions, stored procedures, triggers, and events are extensively used.
- The focus on database design makes this project an excellent example of advanced database management.
Contributions are welcome! Here's how you can help:
- Fork the repository.
- Create a new feature branch:
git checkout -b feature/YourFeatureName
- Commit your changes:
git commit -m "Add your message here" - Push to your fork:
git push origin feature/YourFeatureName
- Submit a pull request.
If you have any questions or would like to collaborate, feel free to reach out:
- GitHub: IllangasingheIMDP
- Email: dasunpramodya616@gmail.com
Thank you for exploring Database Project Jupiter! We hope you find it insightful and inspiring. 🚀














