Skip to content

hasnat-shohag/alumni-management-back-end

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Alumni Management System

The Alumni Management System is a web application designed to manage alumni information, events, blogs, and executive committee members for an educational institution. The system provides functionalities for user authentication, profile management, event management, blog management, and more.

Table of Contents

Features

  • User authentication and authorization
  • Profile management for alumni and students
  • Event creation, updating, and deletion
  • Blog creation and management
  • Executive committee management
  • Email notifications for user verification and password reset

Frontend Codebase

You can find the frontend codebase for the Alumni Management System at the following link: Alumni Management System Frontend

Key Directories and Files

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/alumni-management-system.git
cd alumni-management-system
  1. Install dependencies:
go mod tidy
  1. Set up the environment variables:

Create a .env file in the root directory and add the necessary environment variables. You can use app.env and base.env as references.

  1. Run the application:
go run main.go

Usage

The application provides a RESTful API for managing alumni, events, blogs, and executive committee members. You can use tools like Postman or cURL to interact with the API.

API Endpoints

Authentication

  • POST /v1/auth/sign-up: Sign up a new user.
  • POST /v1/auth/login: Log in a user.

User

  • POST /user/forget-password: Request a password reset.
  • POST /user/reset-password: Reset the password.
  • GET /user/ping: Ping the server.
  • GET /user/alumni-list: Get a list of all alumni.
  • GET /user/:id: Get details of a specific alumni.
  • DELETE /user/delete-me/:id: Delete the user's account.
  • PATCH /user/complete-profile/:id: Update the user's profile.

Admin

  • POST /v1/admin/verify-user: Verify a user.
  • DELETE /v1/admin/delete-user/:id: Delete a user.

Event

  • POST /v1/event/create: Create a new event.
  • PATCH /v1/event/update/:id: Update an event.
  • DELETE /v1/event/delete/:id: Delete an event.
  • GET /v1/event/:id: Get details of a specific event.
  • GET /v1/events: Get a list of all events.

Blog

  • POST /v1/blog/create: Create a new blog post.

Executive Committee

  • POST /v1/executive-committee/create: Add a new executive committee member.
  • PATCH /v1/executive-committee/update/:id: Update an executive committee member.
  • DELETE /v1/executive-committee/delete/:id: Delete an executive committee member.
  • GET /v1/executive-committee/list: Get a list of all executive committee members.
  • GET /v1/executive-committee/:id: Get details of a specific executive committee member.

Environment Variables

The application uses environment variables for configuration. Here are the key variables:

  • DBUSER: Database username
  • DBPASS: Database password
  • DBIP: Database IP address and port
  • DBNAME: Database name
  • PORT: Application port
  • JWT_SECRET: Secret key for JWT
  • JWT_EXPIRE_MINUTES: JWT expiration time in minutes
  • SMTP_HOST: SMTP server host
  • SMTP_PORT: SMTP server port
  • SMTP_USERNAME: SMTP server username
  • SMTP_PASSWORD: SMTP server password
  • ADMIN_EMAIL: Admin email address

Contributing

Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

This is my final year project, I'm using go lang echo framework for server side rendering

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages