This repository contains the Backend code of 'SponsorNet' a centralized Platform which reduces the communication barrier between Organizer and Sponsors. It eradicates the orthodox method of finding sponsors by extensively calling sponsors asking for sponsorships.
The backend of this project is built using a robust and efficient tech stack that ensures reliability, scalability, and maintainability. Here are the key technologies and tools used:
- Node.js : The foundation of our backend is powered by Node.js, a fast and lightweight runtime environment. It enables us to build server-side applications using JavaScript, providing a seamless and consistent development experience.
- Express.js : We utilize Express.js, a minimalistic yet powerful web application framework for Node.js. It simplifies the process of creating APIs and handling various HTTP requests, allowing us to focus on building features rather than dealing with boilerplate code.
- PostgreSQL : Our choice of database management system is PostgreSQL, a powerful and open-source relational database. It offers robust data integrity, advanced querying capabilities, and extensibility, making it an excellent fit for handling complex data relationships.
- JSON Web Tokens (JWT) : For securing our APIs, we implement JSON Web Tokens. JWTs allow us to authenticate and authorize users, enabling safe transmission of data between the frontend and backend while maintaining stateless sessions.
- Bcrypt : To enhance security, we use the bcrypt hashing algorithm to securely store user passwords in the database. This helps protect sensitive user information from unauthorized access.
- Render : We used Render to deploy our backend services. Render provides a simple and scalable platform for hosting web applications and APIs, with features like automatic scaling, SSL certificates, and easy deployment workflows.
- Vercel : For database deployment, we rely on Vercel to host our PostgreSQL database in the cloud. Vercel's managed database services ensure data reliability, high availability, and automatic backups.