The Holberton School Dashboard is a school portal designed to help students track their academic progress and stay informed. It allows students to log in, view their courses, monitor their progress and scores, and keep up with the latest news and updates from the school.
- Student Login: Secure authentication for students to access their personalized dashboard.
- Course Management: Students can view and track their enrolled courses, assignments, and scores.
- Progress Tracking: Real-time tracking of academic performance and grades.
- School Updates: Displays news, announcements, and updates from the school.
- Responsive UI: A dynamic layout that adapts to both desktop and mobile devices.
- JavaScript (ES6): Language used for building the dashboard.
- React: Frontend JavaScript library for building the user interface.
- Redux: State management library for handling user data and application state.
- React Router: For dynamic routing within the application.
- Aphrodite: Library for managing inline styles and dynamic styling in React.
- Redux Thunk: Middleware for handling async actions in Redux to fetch data from the API.
- Normalizr: Data normalization library for the data fetched from the API.
- Immutable.js: Data structures for managing state immutability.
- Webpack: Module bundler for JavaScript applications.
To set up the School Dashboard locally:
- Clone the repository:
git clone https://github.com/youssefelghamour/HolbertonSchoolDashboard.git
- Navigate to the project directory:
cd HolbertonSchoolDashboard
- Install dependencies:
npm install
- Start the app:
npm start
- Access the app at
http://localhost:8080
School.Dashboard.Demo.Video.mp4
The next step for this project would focus on adding a REST API backend using Express.js, MySQL to manage and store user data securely and Sequelize ORM for seamless database interaction and data modeling.
This project is derived from another one of my projects. To explore the full commit history or check out the original repository, visit this link.