This is a mobile application built with React Native and Expo, designed for online learning of the Code de la Route. The app is built with a backend server that provides RESTful API endpoints for CRUD operations on cours and lesson resources.
The back-end of the app includes a CRUD API for managing courses and lessons. The courses table includes columns for theme, nbLessons, description, active, duration, and id. The lessons table includes columns for id, active, duration, description, title, percent, filename, theme, createdAt, and updatedAt.
To install and run the back-end of the app, follow these steps:
- Clone the repository to your local machine.
- Install the required dependencies using
npm install. - Start the server using
npm start.
The following endpoints are available:
-
GET /cours: Returns a list of all courses. -
POST /cours: Creates a new course. -
PUT /cours/:theme: Updates an existing course. -
DELETE /cours/:theme: Deletes a course. -
GET /lesson: Returns a list of all lessons. -
POST /lesson: Creates a new lesson. -
PUT /lesson/:id: Updates an existing lesson. -
DELETE /lesson/:id: Deletes a lesson.
The front-end of the app includes a user interface for viewing and interacting with courses and lessons. The interface allows users to browse courses and view lessons, including videos.
To install and run the front-end of the app, follow these steps:
- Clone the repository to
https://github.com/thamerh/e-learning-mobile-app.git. - Install the required dependencies using
npm install. - Start the Expo server using
npm start. - Install the Expo app on your mobile device.
- Scan the QR code provided by the Expo server using the Expo app on your mobile device.
To use the app, follow these steps:
- Open the app on your mobile device.
- Browse the list of available courses.
- Select a course to view the course details and available lessons.
- Select a lesson to view the lesson details, including any associated videos.
- Watch the video by clicking on the play button.
- You can also view the written summary of the lesson by clicking on the "View Lesson Summary".
Contributions are welcome! If you find a bug or have a feature request, please open an issue on the GitHub repository. If you would like to contribute code, please fork the repository and submit a pull request.



