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.
📌 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.
- Clone this repository.
- Install Ruby on Rails dependencies:
bundle install
- Start PostgreSQL service:
sudo service postgresql start
- Create the database and run migrations:
rails db:create
rails db:migrate
- Start the background task for fetching stock data:
rails fetch_stocks:all
- Start the Rails server:
rails server
To automatically refresh stock data at intervals, you can optionally start the cron service: sudo service cron start
- Clone the frontend repository.
- Install Node.js dependencies:
npm install
- 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. - Start the React development server:
npm run dev