Skip to content

ppavankumar19/Seniour2Juniour

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

58 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“š Academic Exchange Platform

A full-stack web application that allows students to buy, sell, or rent academic books and study materials. The platform connects sellers and buyers in a simple, secure, and affordable way.

๐Ÿš€ Project Overview

Many students finish semesters with unused books, while others struggle to find affordable resources. Academic Exchange solves this by providing a centralized marketplace for educational materials.

Users can:

Register & log in securely

List books for sale or rent

Browse available listings

Contact sellers

Manage their own listings

๐Ÿ› ๏ธ Tech Stack Frontend

HTML

CSS

JavaScript

Tailwind CSS (if used)

Backend

Node.js

Express.js

MySQL

JWT Authentication

bcrypt (password hashing)

dotenv (environment variables)

๐Ÿ“‚ Project Structure project-root/ โ”‚ โ”œโ”€โ”€ backend/ โ”‚ โ”œโ”€โ”€ config/ # Database configuration โ”‚ โ”œโ”€โ”€ controllers/ # Business logic โ”‚ โ”œโ”€โ”€ routes/ # API routes โ”‚ โ”œโ”€โ”€ middleware/ # Auth & error handling โ”‚ โ”œโ”€โ”€ models/ # Database queries โ”‚ โ”œโ”€โ”€ app.js # Express app โ”‚ โ””โ”€โ”€ server.js # Server entry point โ”‚ โ”œโ”€โ”€ frontend/ โ”‚ โ”œโ”€โ”€ index.html โ”‚ โ”œโ”€โ”€ css/ โ”‚ โ””โ”€โ”€ js/ โ”‚ โ”œโ”€โ”€ .env โ”œโ”€โ”€ package.json โ””โ”€โ”€ README.md

๐Ÿ” Authentication Flow

User passwords are hashed using bcrypt

Login returns a JWT token

Protected routes require valid JWT

Token is verified using middleware

๐Ÿ—„๏ธ Database Design

Main tables:

users

listings

categories

orders (optional)

Features:

Foreign key relationships

Indexed columns for faster queries

Input validation before DB operations

โš™๏ธ Installation & Setup 1๏ธโƒฃ Clone the Repository git clone https://github.com/your-username/academic-exchange.git cd academic-exchange

2๏ธโƒฃ Install Backend Dependencies cd backend npm install

3๏ธโƒฃ Configure Environment Variables

Create a .env file in backend/:

PORT=5000 DB_HOST=localhost DB_USER=root DB_PASSWORD=yourpassword DB_NAME=academic_exchange JWT_SECRET=your_jwt_secret

4๏ธโƒฃ Start the Server npm start

Server will run at:

http://localhost:5000

๐Ÿ“ก API Endpoints (Sample) Auth

POST /api/auth/register

POST /api/auth/login

Listings

GET /api/listings

POST /api/listings

PUT /api/listings/:id

DELETE /api/listings/:id

๐Ÿงช Testing

Use Postman to test APIs

Verify protected routes using JWT token

Test database constraints and validations

๐Ÿž Known Issues

Some routes may have missing validations

UI improvements pending

Pagination & search optimization not implemented

๐Ÿ”ฎ Future Enhancements

Image uploads for listings

Search & filter functionality

Chat between buyer and seller

Admin dashboard

Deployment on cloud (AWS / Render)

๐Ÿ‘จโ€๐Ÿ’ป Contributors

Vamsi โ€“ Backend & Database

Friends / Team members โ€“ Feature contributions

๐Ÿ“œ License

This project is created for educational purposes.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •