/SpaceLAB

Create a web site using NASA api

Primary LanguageJavaScript

SpaceLAB: Explore the Cosmos with React

Description

SpaceLAB is a dynamic React web application that utilizes NASA's APIs to provide users with a captivating journey through space. Users can seamlessly navigate through captivating imagery sourced from NASA's Mars Rover Photos, Astronomy Picture of the Day, and Earth imagery APIs.

Built with a strong emphasis on functional components, SpaceLAB offers a user-friendly interface that makes exploring the cosmos a breeze. Enhancing the experience further is a sleek CSS framework that ensures both style and usability.

SpaceLAB isn't just about viewing images—it's about embarking on a journey of discovery. So, whether you're a space enthusiast or simply curious about the universe, dive into SpaceLAB and let the cosmos unfold before your eyes.

Technologies

  • React: Used as the primary frontend library for building the web application.
  • NexUI: Integrated NexUI library for enhanced UI design and streamlined development of modern, responsive components.
  • Tailwind CSS: Employed Tailwind CSS for further styling, allowing for rapid prototyping and efficient styling practices.
  • NASA APIs: Leveraged NASA's public APIs, including Mars Rover Photos, Astronomy Picture of the Day, and Earth imagery APIs, to fetch and display captivating space imagery.

Hosted Web Application

SpaceLAB Web Application

Setup Instructions

  1. Clone the repository:
git clone https://github.com/sliitcsse/se3040-assignment02-IT21161056.git
  1. Install dependencies:
  • Navigate to the backend folder:
cd backend
  • Install dependencies:
npm install
  • Navigate to the frontend folder:
cd frontend
  • Install dependencies:
npm install
  1. Set up environment variables:
  • Create a .env file based on .env.example.
  • Modify the .env file to include your MongoDB connection string, JWT secret key, and any other necessary configurations.
  1. Start the server:
  • Inside the backend folder:
npm start
  1. Start the frontend application:
  • Inside the frontend folder:
npm run dev

Running Tests

Unit Testing

Our project utilizes Vitest and React Testing Library for robust testing of our frontend components. These testing libraries allow us to thoroughly test the functionality and user interactions of our application, ensuring high quality and reliability across different scenarios. With Vitest's powerful features and React Testing Library's intuitive APIs, we can confidently validate the behavior of our frontend codebase, providing a seamless user experience.

  • To run unit tests, use the following command:(Ensure that you are in root folder)
npm test

Additional Notes

  • Ensure MongoDB is running before starting the server.

Review Assignment Due Date