CelestiaQuest is a full-stack dashboard application that utilizes two of NASA's free APIs. The project comprises both a client-side and a server-side component, with authentication implemented using Passport.js for secure user authentication.
- Full Stack Dashboard: Combining React.js for the front end, Express.js for the back end, and Passport.js for authentication to provide a comprehensive dashboard experience.
- NASA APIs Integration: Utilizing NASA's free APIs to gather and display relevant astronomical data.
- Responsive Design: Ensuring compatibility across various devices for a seamless user experience.
-
CelestiaQuest-Client: This folder contains the client-side codebase for the dashboard application, built with React.js. It has undergone a complete makeover to enhance its functionality and user interface.
-
CelestiaQuest-Server: Here lies the server-side codebase, which is built with Express.js and has been updated to provide better asset management and performance.
To set up CelestiaQuest locally, follow these steps:
- Clone this repository to your local machine.
- Navigate to the
CelestiaQuest-Server
folder and install the necessary dependencies. - Start the server.
- Open another terminal window, navigate to the
CelestiaQuest-Client
folder, and install its dependencies. - Start the client.
- Access the dashboard through your web browser.
To set up the database for CelestiaQuest, follow these steps:
- Create a MySQL database named
loginDB
. - Create the necessary tables as specified below:
CREATE TABLE `Users` (
`id` int NOT NULL AUTO_INCREMENT,
`username` varchar(50) NOT NULL,
`password` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
CREATE TABLE `sessions` (
`session_id` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
`expires` int unsigned NOT NULL,
`data` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
PRIMARY KEY (`session_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
Execute node server.js
to start the server. It will be accessible on http://localhost:3000
.
Contributions to CelestiaQuest are welcome! If you'd like to contribute, please fork the repository and submit a pull request with your changes.