A comprehensive news platform for tracking and analyzing meme coins, built with React, Express, and TypeScript.
MemeWatch is a full-stack web application that provides:
- Real-time memecoin news and updates
- Market analysis and tracking
- Trading tools and resources
- Job listings and community features
- React 18
- TypeScript
- Tailwind CSS
- Shadcn/ui components
- Wouter (routing)
- React Query (data fetching)
- Node.js
- Express
- PostgreSQL with Drizzle ORM
- WebSocket for real-time updates
- Node.js 20 or higher
- PostgreSQL 16 or higher
- npm (Node Package Manager)
-
Clone the repository and navigate to the project directory
-
Install dependencies:
npm install- Set up environment variables:
Create a
.envfile in the root directory with the following variables:
DATABASE_URL=postgresql://user:password@localhost:5432/memewatch
VITE_DEV_SERVER_HOST=0.0.0.0
VITE_DEV_SERVER_PORT=5000
VITE_PORT=5000- Initialize the database:
npm run db:push- Start the development server:
npm run devThe application will be available at http://0.0.0.0:5000
├── client/ # Frontend application
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── hooks/ # Custom React hooks
│ │ ├── lib/ # Utility functions
│ │ ├── pages/ # Application pages
│ │ └── types/ # TypeScript type definitions
├── server/ # Backend application
│ ├── auth.ts # Authentication logic
│ ├── routes.ts # API routes
│ └── index.ts # Server entry point
└── db/ # Database configuration
├── index.ts # Database connection
└── schema.ts # Database schema
- Breaking Updates
- Memecoin News
- General Crypto News
- Editorial Content
- Press Releases
- Top Tokens Tracking
- Gainers & Losers
- New Memecoin Listings
- Chain Listings
- Scam Alerts
- Watchlist
- Trading Academy
- Crypto Glossary
- Premium Content
- Newsletter
- Token Advertising
- Market Analytics
- Content Writing
- Research Reports
-
Frontend development:
- Components are in
client/src/components - Pages are in
client/src/pages - Styles use Tailwind CSS
- Components are in
-
Backend development:
- API routes are in
server/routes.ts - Database operations use Drizzle ORM
- WebSocket integration for real-time updates
- API routes are in
-
Database changes:
- Modify schema in
db/schema.ts - Run
npm run db:pushto update database
- Modify schema in
The API provides endpoints for:
-
News Management
- GET /api/news - Get latest news
- GET /api/news/breaking - Get breaking news
- POST /api/news - Create news article (authenticated)
-
Market Data
- GET /api/market/tokens - Get top tokens
- GET /api/market/gainers - Get top gainers
- GET /api/market/losers - Get top losers
-
User Management
- POST /api/auth/login - User login
- POST /api/auth/register - User registration
- GET /api/user/profile - Get user profile
The application is configured for deployment on Replit:
- Production build:
npm run build- Start production server:
npm run start- Create a new branch for features
- Follow the established code style
- Write clear commit messages
- Submit pull requests for review
This project is licensed under the MIT License.