Skip to content

maneer17/rails-personal-project-updated

Repository files navigation

Final Project for Gaza Sky Geeks Training (Ruby on Rails) Instructor: Mai Abutharaa

For my final project in the Ruby on Rails training, I created a classroom app/online course environment similar to Moodle. This platform allows teachers to create courses, post assignments, and manage student progress. Students can enroll in courses, submit assignments, and track their progress, while teachers can monitor their students' work.

In this project, I applied many of the concepts I learned during the training, including:

MVC Structure:

  • Controllers:

    • I gained a solid understanding of the logic behind default controller actions.
    • I can create custom controller actions and map them to specific views.
  • Views:

    • I now have a basic understanding of Bootstrap for building responsive and styled interfaces.
    • I'm currently learning Stimulus.js to enhance my JavaScript skills.
    • I integrated the Flatpickr datepicker package from jsDelivr for handling date inputs.
  • Models:

    • I have a strong grasp of database associations and relationships, including one-to-many and many-to-many relationships.
    • I applied various validations, such as string and date validations, and I can create custom validations for specific requirements.

Migrations:

  • I am confident in creating and running migrations to control and modify the database schema.

Routes:

  • I feel confident in defining routes as the first step in building my application.
  • I learned how to use nested routes and namespaces to structure my app more efficiently.

Gems:

  • I used several gems to enhance my project, including:
    • IRB: For interactive Ruby sessions.
    • Faker: To seed the database with initial data for testing purposes.

The Rails Console:

  • Working with the Rails console has been incredibly helpful in tackling challenges, allowing me to interact directly with the application's data.

The Database Console:

  • Writing raw SQL queries in the database console gave me deeper insights into the database structure and helped me troubleshoot issues.

Authentication with Devise:

  • I implemented user authentication using the Devise gem, customizing it to add additional fields .

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •