Coder Social home page Coder Social logo

swe-ships's Introduction

Sweships

Application Overview

About

Sweships is a web application designed for CS/CE students pursuing job opportunities in Software Engineering. The application works with an algorithm that matches internship postings with a student based on their skills and qualifications. Our service allows users to create a profile, customize their account with skills and programming languages they're most experienced with, and view internships in our database that are most relevant to their profile. Additionally, we've added a collection of resources that we think will be helpful to students interested in networking, expanding their skillset, or scholarships.

Features

The primary features of this application include the following:

  • Authenticated user accounts
  • Matching internships with premium users based on their skills
  • Sorting internships based on user's preferred location
  • Payment processing with Stripe

Installation and Setup

If you would like to modify the code on your local machine, feel free to clone this repository and run it by doing the following:

git clone https://github.com/ltephanysopez/swe-ships.git

Navigate to the directory.

cd ~/Downloads/swe-ships

Install all necessary gems

bundle install

Run the server

bundle exec ruby app.rb

By default the server runs on port 4567, so to view the application on your local machine, head to http://localhost:4567/

Wireframing

Below are the original sketches for the web application.

Index Overview

Listings Overview

Databases

The application makes use of a two databases, described as follows:

  • User database: Stores the data of free and signed up users. Free users may have empty fields such as “skills” and “preferred location” since they are not needed in their case. Premium users, on the other hand, should fill have fields complete in order to see internship listings.
  • Listings database: Stores the data of every internship listing an administrator adds.
  • Scholarships database: Stores the data of every scholarships listing an administrator adds.
  • Conferences database: Stores the data of every conference listing an administrator adds.

The local databases were implemented and tested using SQLite3 accessed via DataMapper. When deploying our application with Heroku, the database migrated to PostgreSQL.

Tech Stack

To build the application, we used:

  • Ruby
  • HTML
  • CSS
  • BootStrap
  • JavaScript
  • jQuery
  • Heroku
  • Stripe API
  • PostgreSQL
  • DataMapper
  • Google Fonts

Additionally, Slack, Git, and Github were used to discuss the project timeline and progress.

Authors

Made with love by:

Acknowledgement

A special thank you to Eric Martinez, who assisted us throughout the project.

swe-ships's People

Contributors

ltephanysopez avatar acsanchezr avatar taranamou avatar

Stargazers

 avatar  avatar Jacquelynn avatar

Watchers

James Cloos avatar

swe-ships's Issues

ISSUE-10: Matching system

Error: No variable name for 'count' in listings.rb, matching system isn't functional for pro members only.

ISSUE-14: (optional) Update README.md

(Optional) Update README.md with:

  • About
  • Features
  • Installation & Setup
  • Project Management
  • User Flow
  • User Stories
  • Tools Used & Built With
  • Project Timeline
  • Authors
  • Acknowledgement
  • Questions & Answers

ISSUE-07: (optional) Add flash messages

Add flash messages for the following occasions:

  • ERROR: When user tries to create an account without a .utrgv domain

  • ERROR: When an administrator tries to upload an internship listing without all fields complete

  • ERROR: When pro/administrator user tries to upgrade

  • ERROR: When free user tries to edit their profile

  • SUCCESS: When user creates an account

  • SUCCESS: When an administrator uploads an internship

  • SUCCESS: When a user upgrades to "pro"

ISSUE-05: Listings uploaded without all fields complete

Currently, the web application allows for an administrator to upload an internship posting without all fields complete. All fields for internships must be complete, otherwise the matching system will not work for the users. This issue can be resolved by adding a flash alert to the user when a field is empty, and modifying the listing.rb file to prevent POST request.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.