Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/aaroncferrer/stocks

Mock trading app using Ruby on Rails for backend, adhering to TDD and RESTful principles. Auth is implemented with bcrypt and JWT. RSpec with SimpleCov guarantees comprehensive code testing for quality assurance.
https://github.com/aaroncferrer/stocks

bootstrap javascript postgresql rails rails-api react rspec ruby

Last synced: 5 days ago
JSON representation

Mock trading app using Ruby on Rails for backend, adhering to TDD and RESTful principles. Auth is implemented with bcrypt and JWT. RSpec with SimpleCov guarantees comprehensive code testing for quality assurance.

Awesome Lists containing this project

README

        

# Stocks App
### Technologies Used

## Overview
A comprehensive application for traders to manage their stock investments efficiently. This project is developed as part of our coursework at Avion School for the backend course.

[Demo Link](https://stocks-app-arcf.vercel.app/)

## Features
📌 **Fetching Stock Data**: We fetch real-time stock data from a third-party API, Phisix API, to populate our database.

📌 **Testing**: We've followed a Test-Driven Development (TDD) approach and achieved a test coverage of approximately 98% using RSpec and SimpleCov.

📌 **Mobile Responsiveness**: Our app is designed to be mobile-responsive, ensuring a seamless experience for both tablet and mobile device users.

📌 **Authentication & Authorization**: We use Bcrypt for secure password hashing and JWT (JSON Web Tokens) for authentication and authorization.

📌 **Email Notifications**: Trader Mailer is implemented for sending important email notifications to traders.

📌 **Database**: We've utilized PostgreSQL as our database for efficient data storage and retrieval.

📌 **Deployment**: The backend is deployed on Render, and the frontend is deployed through Vercel.

## Setup

### Backend

1. Clone this repository.
2. Install Ruby on Rails dependencies: `bundle install`
3. Start PostgreSQL service: `sudo service postgresql start`
4. Create the database and run migrations: `rails db:create` `rails db:migrate`
5. Start the background task for fetching stock data: `rails fetch_stocks:all`
6. Start the Rails server: `rails server`

#### Scheduled Stock Updates

To automatically refresh stock data at intervals, you can optionally start the cron service: `sudo service cron start`

### Frontend

1. Clone the frontend repository.
2. Install Node.js dependencies: `npm install`
3. Set up environment variables for API URLs in your `.env` file. You may need to use local storage for the host in your React app.
4. Start the React development server: `npm run dev`