The Space Exploration Website is a platform designed to provide users with accessible and informative content about space missions, rovers, astronauts, and significant milestones achieved in space exploration. It offers an immersive experience for exploring space-related topics through a user-friendly interface and robust functionality.
- User Authentication: Users can log in or sign up to access personalized features.
- Article-Based Content: Structured articles on missions, rovers, and astronauts provide comprehensive information about space exploration topics.
- Filtering Options: Users can filter articles by criteria such as agency, launch year, and mission type.
- Bookmarking: Users can bookmark articles for later reference, with bookmark counts tracked for each user.
- Milestones: A dedicated page highlights significant achievements in space exploration, sorted by date.
- User Profile: Users can update their usernames and manage their bookmarks efficiently.
- Frontend: HTML, CSS, JavaScript
- Backend: Python (Flask)
- Database: MySQL
- Additional Tools: AJAX for asynchronous requests
The database schema consists of the following tables:
- Missions: Contains information about space missions, including mission ID, name, agency, launch date, target celestial body, purpose, status, image URL, and content.
- Rovers: Stores details about rovers, such as rover ID, name, associated mission ID, landing date, image URL, content, mission duration, type, destination, landing site, and rover type.
- Astronauts: Holds data regarding astronauts, including astronaut ID, name, nationality, missions participated, image URL, content, birth date, time in space, total EVAs (extravehicular activities), total EVA time, and death date.
- Milestones: Records significant achievements in space exploration, with fields for milestone ID, associated mission ID, associated rover ID (if applicable), title, and description.
- Users: Stores user information, including user ID, username, email, and password.
- Astronaut Bookmarks: Tracks user bookmarks for astronaut articles, linking user IDs with astronaut IDs.
- Mission Bookmarks: Manages user bookmarks for mission articles, associating user IDs with mission IDs.
- Rover Bookmarks: Maintains user bookmarks for rover articles, connecting user IDs with rover IDs.
In conclusion, the Space Exploration Website project was instrumental in deepening my understanding of APIs, routine tasks, and database management while honing my skills in full-stack development. By building a comprehensive application encompassing frontend, backend, and database components, I gained practical experience in designing and implementing complex software solutions. This project not only showcased my technical abilities but also reinforced my passion for creating impactful and user-centric applications.