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

 
 
 

Contributors