Lab 3

Moodle

Project selection form

Goal

To create a Ruby Web app as a small team. Following are a list of options. For each there is a feature set. I do not expect you to necessaily complete all features, but I do expect the result to be reliably functional, with an attractive (bootstrap based) user interface. You grade with depend on:

You grade will depend on the a varity of facets:

  1. A set of well defined features and associated screens the work reliably. The grade will be scaled based on the number of features complete
  2. An attractive user interface.
  3. The use of sevceral distinct tables. The grade will be also scaled on the number of tables in use.
  4. Appropriate handling of all error conditions
  5. A set of test funtions for each feature
  6. A well defined database schema.

The systems maximum grade is dependant on the follwing:

Number of fully implement features/screens/tables. Team members:234
160%50%40%
270%60%50%
380%70%60%
490%80%70%
5100%90%80%
6100%90%
7100%

These are the maximum scores. The grade from 0 to the maximum will depends on quality of the solution, and the inclusion of test cases.

If you do not implement at least 2 tests per feature, you will lose up to 20%.

You will need to chose a project from thos below. You will fill out this form to let me know you first, second, and third choices. From there I will organize you into teams.

The teams will all recieve the same score for the project. Thus you are encouraged to work hard to pull the team together, and make sure everyone in pulling their weight. This is part of the “problem”. finding. a wat to work as a team.

Github

I am not giving you a github starting point for this. Yor group will need to create a common github project which you all work from. I expect you to use branches to allow parallel work amount team members. I require you to make me part of the team.

1. Social Media Platform

A social media platform is a great project to showcase your Ruby on Rails skills. It provides a variety of features and functionality that you can implement, giving you ample opportunity to demonstrate your understanding of the language and framework.

Features:

  • User authentication and authorization: Implement a secure system for users to sign up, log in, and manage their accounts.
  • Profile creation: Allow users to create and edit their own personal profiles, including uploading profile pictures and adding bio information.
  • Posts and comments: Users should be able to create, edit, and delete their own posts and comments.
  • Friendships and follower system: Implement a system for users to send friend requests and follow other users.
  • Newsfeed: Display posts from friends and people the user follows in a chronological order.
  • Notifications: Notify users of new friend requests, comments, and likes on their posts.
  • Search functionality: Allow users to search for other users and posts by keywords or hashtags.

2. E-commerce Website

Creating an e-commerce website is another excellent idea for a Ruby on Rails project. It will require you to implement various features and a well-structured database, showcasing your skills in both front-end and back-end development.

Features:

  • Product catalog: Create a catalog of products, including images, descriptions, and prices.
  • Shopping cart: Implement a shopping cart system that allows users to add, remove, and update items in their cart.
  • Checkout and payment processing: Integrate a payment gateway, such as Stripe, to process payments securely.
  • User accounts: Allow users to create accounts, view their order history, and manage their billing and shipping information.
  • Order management: Create an admin panel for managing orders, including updating order status, tracking shipments, and processing refunds.
  • Inventory management: Implement a system for tracking product inventory and displaying stock levels on the product pages.

3. Survey Platform

Build a platform for creating and giving surveys. The application will allow a create to create a new survey. They can then add one for more questions to the survey. The questions can be multiple choice, true/false, or short or long answer. The creator should be able to edit the survey, adding changing and removing quetions until the survey is finalized. Once the survey is finalized, the survey may be published. At this point a URL is created that then followed, will give a user the survey, and record the results.

Features:

  • Creator accounts. Implement a system for survey creators to create an account, log in, and manage surveys they have created.
  • Survery creator. Implement a system for users to create, edit, view, and publish a survey.
  • Survey taker. Create the system for a user to take the survery, recording all the answers.
  • Survey reporting. Create a sytem for viewing the current results of the survey.
  • Data visualization. Use of graphs and charts to display the results.
  • User accounts: Implement a system for users to sign up, log in before taking a survey. This will allow a user to be associated with their answers, and prevent more a user from taking the same survey more then once.
  • Email reporting. A creater and/or a survey taker my add an email address. The create with get a email everytime someone takes a survey, and the survey takeer will get emailed a message with the questions and there responses, as well as optionally the current survey results (as selected by the creator)

4. Project Management Tool

A project management tool is a practical and useful application that can help you demonstrate your Ruby on Rails skills. It requires a combination of front-end and back-end development, as well as database management and user authentication.

Features:

  • User authentication: Implement a secure system for users to sign up, log in, and manage their accounts.
  • Project creation: Allow users to create and manage projects, including setting deadlines, assigning tasks, and tracking progress.
  • Task management: Implement a system for creating, updating, and deleting tasks within a project.
  • Team collaboration: Allow users to invite team members to join a project and assign tasks to them.
  • File sharing: Implement a system for uploading and sharing files related to a project.
  • Notifications: Notify users of updates and changes to tasks and projects.

5. Event Management Platform

Creating an event management platform is another great way to showcase your Ruby on Rails skills. This type of application requires a wide range of features, including database management, user authentication, and payment processing.

Features:

  • User accounts: Implement a system for users to sign up, log in, and manage their accounts.
  • Event creation: Allow users to create and manage events, including setting dates, times, and locations.
  • Ticketing system: Implement a system for creating and selling tickets to events, including different pricing tiers and seat selection.
  • Payment processing: Integrate a payment gateway, such as Stripe, to process payments securely.
  • Attendee management: Allow event organizers to manage their attendees, including checking in attendees at the event and sending out event updates.
  • Event promotion: Implement a system for event organizers to promote their events, such as by sending out email invitations or sharing on social media.

6. Job Board

A job board is an excellent project for demonstrating your Ruby on Rails skills, as it requires you to implement a variety of features and functionality, including database management, user authentication, and search functionality.

Features:

  • User accounts: Implement a system for users to sign up, log in, and manage their accounts.
  • Job posting: Allow employers to create and manage job postings, including setting job requirements, salary information, and application deadlines.
  • Job search: Implement a system for job seekers to search for jobs by keywords, location, and other filters.
  • Job applications: Allow job seekers to apply for jobs directly through the platform, including submitting their resume and cover letter.
  • Employer dashboard: Create a dashboard for employers to manage their job postings and review applications.
  • Notifications: Notify job seekers of new job postings that match their search criteria and notify employers of new applications.

7. Online Learning Platform

An online learning platform is a great project to showcase your Ruby on Rails skills, as it requires you to implement features such as user authentication, content management, and payment processing.

Features:

  • User accounts: Implement a system for users to sign up, log in, and manage their accounts.
  • Course creation: Allow instructors to create and manage online courses, including uploading course materials, setting assignments, and creating quizzes.
  • Course enrollment: Implement a system for students to enroll in courses and track their progress, including marking assignments as complete and taking quizzes.
  • Payment processing: Integrate a payment gateway, such as Stripe, to process payments securely.
  • Discussion forums: Allow students and instructors to communicate and collaborate through discussion forums.
  • Notifications: Notify students of new course materials, assignments, and quizzes, and notify instructors of new enrollments and forum activity.

8. Restaurant Reservation System

Building a restaurant reservation system is a practical and useful project that can help you showcase your Ruby on Rails skills. It requires a combination of front-end and back-end development, as well as database management and user authentication.

Features:

  • User accounts: Implement a system for users to sign up, log in, and manage their accounts.
  • Restaurant profiles: Allow restaurant owners to create and manage their restaurant profiles, including adding photos, menus, and hours of operation.
  • Table management: Implement a system for restaurant owners to manage their table availability and reservation times.
  • Reservation system: Allow users to search for available tables and make reservations directly through the platform.
  • Reviews and ratings: Implement a system for users to rate and review restaurants.
  • Notifications: Notify users of upcoming reservations and notify restaurant owners of new reservations.

9. Fitness Tracker

A fitness tracker is an excellent project idea for showcasing your Ruby on Rails skills. It requires you to implement a variety of features and functionality, including database management, user authentication, and data visualization.

Features:

  • User accounts: Implement a system for users to sign up, log in, and manage their accounts.
  • Activity tracking: Allow users to log their workouts, including exercises, sets, repetitions, and weight lifted.
  • Nutrition tracking: Implement a system for users to log their daily food intake, including calories, macronutrients, and micronutrients.
  • Goal setting: Allow users to set fitness goals, such as weight loss or muscle gain, and track their progress towards these goals.
  • Data visualization: Display users’ fitness data in charts and graphs to help them analyze their progress.
  • Social features: Allow users to share their workouts and progress with friends.

In conclusion, these nine project ideas can help you build an impressive portfolio using Ruby on Rails. Remember, the key to a successful portfolio is to demonstrate your ability to create functional, well-structured applications that solve real-world problems. Good luck, and happy coding!

Scroll to Top