Skip to content

Lightweight web app that verifies user-submitted data or credentials through automated checks. Designed for easy integration into other systems or workflows.

Notifications You must be signed in to change notification settings

Thousifibrahim/BitMoreVerify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›‘οΈ BitMoreVerify

A full-stack authentication system built with Django REST Framework and React, featuring Google OAuth, email verification, and News API integration. Perfect for rapid development of secure authentication systems.

✨ Features

  • User Authentication

    • Email/password registration and login
    • Google OAuth 2.0 integration
    • JWT token-based authentication
    • Email verification with OTP
    • Password reset functionality
  • Security Features

    • Secure password hashing
    • CORS configuration
    • JWT token management
    • Environment-based configuration
  • News Integration

    • News API integration for content delivery
    • Carousel display components
    • Real-time news updates
  • Modern UI/UX

    • Responsive React frontend
    • Material design components
    • Weather information display
    • Professional landing page

πŸ› οΈ Tech Stack

Backend

  • Django 5.2.5 - Web framework
  • Django REST Framework - API development
  • PostgreSQL - Database
  • JWT Authentication - Token-based auth
  • Google OAuth - Social authentication
  • Django Allauth - Authentication package

Frontend

  • React - UI library
  • Create React App - Build tool
  • Google OAuth - Social login
  • CSS3 - Styling

πŸ“ Project Structure

BitMoreVerify/
β”œβ”€β”€ backend/                 # Django backend
β”‚   β”œβ”€β”€ backend/            # Main Django settings
β”‚   β”œβ”€β”€ users/              # User authentication app
β”‚   β”œβ”€β”€ news/               # News API integration
β”‚   β”œβ”€β”€ manage.py
β”‚   └── requirements.txt
β”œβ”€β”€ frontend/               # React frontend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/     # Reusable components
β”‚   β”‚   β”œβ”€β”€ pages/          # Page components
β”‚   β”‚   β”œβ”€β”€ styles/         # CSS files
β”‚   β”‚   └── utils/          # Utility functions
β”‚   β”œβ”€β”€ public/
β”‚   └── package.json
└── README.md

πŸš€ Quick Start

🧩 Prerequisites

  • Python 3.8+
  • Node.js 14+
  • PostgreSQL 12+
  • Git

1️⃣ Clone Repository

git clone https://github.com/smdspace-dev/BitMoreVerify.git
cd BitMoreVerify

2️⃣ Backend Setup

cd backend
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env  # Update with your values
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver

3️⃣ Frontend Setup

cd frontend
npm install
cp .env.example .env  # Update with your values
npm start

βš™οΈ Configuration

Backend .env

DJANGO_SECRET_KEY=your-django-secret-key
DEBUG=True

DB_NAME=your_database_name
DB_USER=your_database_user
DB_PASSWORD=your_database_password
DB_HOST=localhost
DB_PORT=5432

EMAIL_HOST_USER=your-email@gmail.com
EMAIL_HOST_PASSWORD=your-app-password

NEWSDATA_API_KEY=your-newsdata-api-key
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret

Frontend .env

REACT_APP_API_BASE_URL=http://127.0.0.1:8000
REACT_APP_GOOGLE_CLIENT_ID=your-google-client-id

πŸ“š API Documentation

Method Endpoint Description
POST /api/auth/register/ User registration
POST /api/auth/login/ User login
POST /api/auth/logout/ Logout
POST /api/auth/verify-otp/ Email verification
POST /api/auth/forgot-password/ Password reset
POST /api/auth/google/ Google OAuth login
GET /api/auth/user/ Get user profile
PUT /api/auth/user/ Update user profile
DELETE /api/auth/user/ Delete user account

πŸ§ͺ Development

Run Tests

cd backend && python manage.py test
cd ../frontend && npm test

Code Style

# Backend
black . && flake8 .

# Frontend
npm run lint

Development Workflow

  1. Create feature branch: git checkout -b feature/new-feature
  2. Make and test changes locally
  3. Commit: git commit -m "Add new feature"
  4. Push: git push origin feature/new-feature
  5. Open Pull Request

πŸš€ Deployment

Backend (Heroku)

heroku create bitmoreverify
heroku config:set DEBUG=False DJANGO_SECRET_KEY=your-production-secret
heroku config:set DATABASE_URL=your-prod-db-url
heroku run python manage.py migrate
git push heroku main

Frontend (Netlify)

npm run build
# Upload build folder to Netlify or connect via Git

🀝 Contributing

  1. Fork the repo
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit (git commit -m 'Add some AmazingFeature')
  4. Push (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License.


πŸ’¬ Support


Made with ❀️ by Smd-space and Team Happy Coding! πŸš€

About

Lightweight web app that verifies user-submitted data or credentials through automated checks. Designed for easy integration into other systems or workflows.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages