This project is developed as part of CS410P - Rust Web Development by Hieu Vu. It is a web application that provides users with access to the Astronomy Picture of the Day (APOD) using the NASA API. The project is built using Rust's Axum framework and Sqlx for database interaction, with Postgres configured using Docker.
- GitHub Repository: https://github.com/HieuVuhv5/apod
- Online Demo: www.tonghopmoi.com
The project's main functionality revolves around fetching and displaying Astronomy Pictures of the Day. The workflow is as follows:
- When a user searches for an APOD, the system first checks its database for the result.
- If no result is found in the database, the system queries the NASA API to retrieve the APOD for the requested date.
- The retrieved result is then added to the system's database for future use and displayed to the user.
- Over time, as more users interact with the system, the database becomes more comprehensive, improving the user experience.
The website offers the following features:
-
User Registration:
-
User Galleries:
-
Slide Show:
-
Search:
The project also includes additional features such as:
- Duplicate email checking during registration.
- Login and logout functionality, tested thoroughly.
To set up and run the project locally, follow these steps:
- Clone the GitHub repository:
git clone https://github.com/HieuVuhv5/apod.git
- Navigate to the project directory:
cd apod
- Install dependencies:
cargo install
- Configure your Postgres database using Docker.
- Run the project:
cargo run
Make sure to refer to the project's GitHub repository for detailed setup instructions and any additional information.
This project is licensed under the MIT License.
Note: The images used in this README are for illustration purposes only and may not accurately represent the actual design of the website.