Skip to content

beatrizheav/inventory

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 

Repository files navigation

easyStock

easyStock is a simple and efficient inventory management app built with Expo, Expo Router, TypeScript, and Firebase. It helps you keep track of your products, stock levels, and inventory movements seamlessly on your mobile device.


Features

  • Add, edit, and delete inventory items
  • Track stock quantities in real-time
  • Organize items by categories
  • User authentication with Firebase Auth
  • Sync data instantly with Firebase Firestore
  • Clean and intuitive UI powered by Expo Router and React Native

Tech Stack

  • Expo - Framework for building native apps using React Native
  • Expo Router - File-based routing for React Native apps
  • TypeScript - Strongly typed JavaScript for better development experience
  • Firebase - Backend services including Authentication and Firestore database

Getting Started

Prerequisites

  • Node.js (recommended latest LTS)
  • Expo CLI (npm install -g expo-cli)
  • Firebase project with Firestore and Authentication enabled

Installation

  1. Clone the repository
git clone https://github.com/yourusername/easyStock.git
cd easyStock
  1. Install dependencies
npm install

or with yarn

yarn install
  1. Configure Firebase
  • Create a Firebase project at Firebase Console

  • Enable Email/Password Authentication (or other preferred methods)

  • Enable Firestore database in test or production mode

  • Copy your Firebase config object from the project settings

  1. Create a .env file in the root directory and add your Firebase config:
FIREBASE_API_KEY=your_api_key
FIREBASE_AUTH_DOMAIN=your_auth_domain
FIREBASE_PROJECT_ID=your_project_id
FIREBASE_STORAGE_BUCKET=your_storage_bucket
FIREBASE_MESSAGING_SENDER_ID=your_messaging_sender_id
FIREBASE_APP_ID=your_app_id
  1. Start the app
npm start

or

yarn start

This will open the Expo Developer Tools. You can run the app on a simulator or physical device.

Project Structure


/app
  _layout.tsx  
/firebase  
/components  
/types
  • /app — Pages and routes managed by Expo Router

  • /firebase — Firebase configuration and initialization

  • /components — Reusable UI components

  • /types — TypeScript types and interfaces

Firebase Setup Example (/firebase/config.ts)


import { initializeApp } from 'firebase/app';
import { getAuth } from 'firebase/auth';
import { getFirestore } from 'firebase/firestore';
const firebaseConfig = {
  apiKey: process.env.FIREBASE_API_KEY!,
  authDomain: process.env.FIREBASE_AUTH_DOMAIN!,
  projectId: process.env.FIREBASE_PROJECT_ID!,
  storageBucket: process.env.FIREBASE_STORAGE_BUCKET!,
  messagingSenderId: process.env.FIREBASE_MESSAGING_SENDER_ID!,
  appId: process.env.FIREBASE_APP_ID!,
};
const app = initializeApp(firebaseConfig);
export const auth = getAuth(app);
export const db = getFirestore(app);

Scripts


Command Description

  • npm start: Start Expo development server

  • npm run android: Run app on Android emulator or device

  • npm run ios: Run app on iOS simulator or device

  • npm run web: Run app in web browser

  • npm run lint: Run TypeScript and ESLint checks

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.

Please ensure code style consistency and proper documentation.

Contact

For questions or support, reach out at (email)

Made with ❤️ using Expo, TypeScript, and Firebase

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •