Skip to content

Latest commit

Β 

History

13 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ CryptoCore Backend

Welcome to the CryptoCore Backend! This Node.js and Express.js API powers the CryptoCore app by providing real-time cryptocurrency data, user authentication with JWT, and secure database interactions.


πŸ“¦ Features

πŸ” Authentication & Authorization

  • JWT-based authentication for secure user login and registration.
  • Middleware to protect routes and manage user sessions.

πŸ“Š Real-time Market Data

  • Fetches real-time cryptocurrency prices, market trends, and stats from public APIs.
  • Efficient data caching to optimize performance.

πŸ“° Crypto News API

  • Aggregates news articles from various trusted crypto sources.
  • Filters and sorts news based on relevance.

πŸ› οΈ User Management

  • User registration and login functionality.
  • Profile management and watchlist support.

πŸ› οΈ Technologies Used

  • Node.js: JavaScript runtime for backend development.
  • Express.js: Web framework for building RESTful APIs.
  • JWT: JSON Web Tokens for secure authentication.
  • PostgreSQL: Database for structured data management.
  • Prisma: ORM for database interactions.
  • Zod: Schema validation for API requests and responses.

πŸ“‚ Project Structure

crypto-core-backend/
β”‚
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ config/             # Config files
β”‚   β”œβ”€β”€ controllers/        # Route logic (auth, crypto data, news)
β”‚   β”œβ”€β”€ cron/               # Cron jobs
β”‚   β”œβ”€β”€ models/             # Database models (Prisma schema)
β”‚   β”œβ”€β”€ routes/             # API endpoints
β”‚   β”œβ”€β”€ middleware/         # Auth and error-handling middleware
β”‚   β”œβ”€β”€ validations/        # Helper functions (validation, formatting)
β”‚   └── app.js              # Server entry point
β”‚
β”œβ”€β”€ .env                    # Environment variables
β”œβ”€β”€ prisma/                 # Prisma schema
β”œβ”€β”€ package.json            # Project dependencies
β”œβ”€β”€ tsconfig.json           # Typescript config
└── README.md               # You're here!

πŸš€ Getting Started

Prerequisites

Setup Steps

  1. Clone the repository:

    git clone https://github.com/ishanbhagwate/crypto-core-backend.git
    cd crypto-core-backend
  2. Install dependencies:

    npm install
  3. Set up environment variables:

    • Create a .env file in the root directory.
    • Add the following variables:
      DATABASE_URL=your_postgres_url
      JWT_SECRET=your_jwt_secret
      API_KEY=your_crypto_api_key
  4. Run database migrations:

    npx prisma migrate dev
  5. Start the server:

    npm start

πŸ› οΈ Contributing

Contributions are welcome! To contribute:

  1. Fork this repository.
  2. Create a new branch: git checkout -b feature-name
  3. Commit your changes: git commit -m 'Add some feature'
  4. Push to the branch: git push origin feature-name
  5. Submit a pull request.

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ“§ Contact

For any questions or feedback:


🌟 Show your support!

If you like this project, don't forget to give it a ⭐️!


About

πŸ“Š Crypto Tracker App A sleek, cross-platform Flutter app for tracking cryptocurrencies. Features real-time market data, news updates, search functionality, and user profiles. πŸš€πŸ’°

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages